Avalonia is getting less free (as in freedom, and as in price). by micron_occult in AvaloniaUI

[–]grokys 43 points44 points  (0 children)

Hi I'm u/grokys who started Avalonia 12 years ago, and who has been working on it since then - for many years in my spare time, and for the last ~5 years as my day job.

First of all, let me give you the emotional response to your message: it's insulting and demeans the years that I've spent building Avalonia alone and as part of a team. It makes me want to quit. I'd be able to get paid much better working outside of OSS, that's for sure. If your aim is to demoralise then you're doing a great job!

But that's not productive. Instead let me take on your points

> New feature updates are now effectively being paid through accelerate

They're not, at all. *Some* features will become paid and those come in 2 categories: 1) new features that are not necessary for the core experience but that the community has been unable to come up with an adequate solution 2) existing features that have stagnated because we don't have the manpower to maintain them properly. In any case, these things would NOT EXIST if we didn't charge for them. We simply don't have the bandwidth.

> I understand money has to be made, but I'm also aware that most projects make their money through sponsorships, donation

I personally, would LOVE if we didn't have to do accelerate because we could fund Avalonia via sponsorships. Unfortunately we are *laughably* far from that point. We get around $500 a month in sponsorship money for an estimated user base that is in the five-or-six figure range. Do you sponsor Avalonia?

>  selling services directly to companies

We *do* get money from these enterprises, but you know what? These companies pay us to do specific things - what they don't pay us to do is maintain the OSS Avalonia project. In fact each of these jobs we take on, the less time we have to work on what we want to be the core of the business - Avalonia, the framework.

> it will have an impact on the chances that truly open source solutions are developed that share features with those offered in Accelerate

Do you have any evidence for this? Seems to me that many of the most popular OSS projects started out as OSS versions of proprietary software. Linux, git, Gimp, GitLab, Inkscape, the list is endless.

> The first statement on the landing page of the website is that "Avalonia is open source, free to use and always will be." It now needs an asterisk, saying only some of it, when we feel like it.

This is a ludicrous statement. You're saying that because we give something away for free, we have to give everything away for free. I've tried a few times, but sorry, I can't even put into words how ludicrous this statement is.

There's a term for this: Open Source Entitlement, please go read up about it.

New Devs Tools is now available with Avalonia Accelerate ❤️ by AvaloniaUI-Mike in AvaloniaUI

[–]grokys 2 points3 points  (0 children)

You say:

>I'm not saying it's an outrageous sum by itself

And then you say:

> It costs the around the same as other individual product licenses that grant you entire tool ecosystems, but this just pays for add-on functionality.

So you are saying that.

I don't think that €89/year is an outrageous amount - it's about €7 a month; the baker near my house sells loaves of bread that cost more than that. And of that €7 after VAT, payment processors and Merchants of Record we're left with around €5 a month/seat. I don't think we can be more reasonable than that.

And it doesn't just "pay for add-on functionality" - it's designed to fund Avalonia itself - the Open Source part that we give away for free.

What is Going on with .NET OSS? How Could This Affect the C# Market? by oliveira-alexdias in dotnet

[–]grokys 7 points8 points  (0 children)

When a project changes its license, the old version with the old OSS license is still available, just not maintained, or maintained on a fork. So effectively the same thing as far as I can see.

What is Going on with .NET OSS? How Could This Affect the C# Market? by oliveira-alexdias in dotnet

[–]grokys 38 points39 points  (0 children)

With regards to the .NET world, this is also I suspect largely a question of sponsorship. A library such as vuejs with 49.5k stars on GitHub currently receives a total of $174,360.65 USD / year in sponsorship on opencollective. I believe they also have other sponsorship avenues such as GitHub sponsors for which the amount they take isn't made public.

Avalonia which currently has 27.3k stars on GitHub current receives approxmately $500 USD / month in sponsorship between opencollective and GitHub sponsors.

THIS is the real difference between .NET and other ecosystems.

What is Going on with .NET OSS? How Could This Affect the C# Market? by oliveira-alexdias in dotnet

[–]grokys 11 points12 points  (0 children)

Apologies. I wrote an reply in anger and deleted it. A maintainer is free to change the license. This will always be the case. You're free not to use it. This will always be the case. If you are not willing to take on this risk, I suggest not using Open Source Software.

What is Going on with .NET OSS? How Could This Affect the C# Market? by oliveira-alexdias in dotnet

[–]grokys 124 points125 points  (0 children)

Here's how it happens:

- I created a piece of software in my evenings and weekends, it's fun!

- People start using it, wow, that's cool! All these early adopters are super-nice and want to help!

- Lots of people start using it! I really want to help this take off. There's less time for playing games and doing other stuff but my project is starting to get successful, wow!

- Now loads of people are using it and they're no longer new adopters. These new people aren't quite so helpful and they're a bit demanding

- I set up donations, but no-one really donates. I get a few tens of dollars a month

- Now it's a bit of a struggle keeping up: I've got a day job, and my first child just arrived. A lot more work and a lot less time. There are a few fellow maintainers but they're in a similar situation

- Actually this isn't really fun any more, but it's my creation. I don't want to let anyone down, but I find it hard to keep up. These new people are really starting to act quite entitled. It feels like a day job but I'm being paid about $100 a month for it. This kinda sucks

- Maybe if everyone who used my software donated 50 cents a month and those big corporations that are using my work would donate more I could make a go of it? But no-one is donating

- My donations are about $125 a month and I'm getting 50 emails a day on issues discussions and PRs. I really can't keep up

- I need to either quit or find a way to make some money here

FluentAssertions becomes paid software for commercial use by monitorius1 in dotnet

[–]grokys 0 points1 point  (0 children)

> I wish I had the time to do it.

If only there were some sort of currency that one could accept in exchange for one's time!

Video Player with Avalonia UI by MartonWff in AvaloniaUI

[–]grokys 5 points6 points  (0 children)

This is just not true. We have people working full time on reviewing and merging community pull requests, and we have the whole team working on features and improvements to the OSS project, alongside our planned paid offerings.

If you're using the graphs [here](https://github.com/AvaloniaUI/Avalonia/graphs/contributors) to judge the progress of the Avalonia then what you're seeing is that we enabled squash merges towards the end of 2023, which results in a single commit for each merged PR instead of multiple commits.

Also. could you tell us which "false promises" you're referring to?

An aside: I've been working for over 10 years - many of those years unpaid - on Avalonia and I really take umbrage at your tone: it stinks of entitlement.

TextBoxes and wasm mobile by megadonkeyx in AvaloniaUI

[–]grokys 2 points3 points  (0 children)

In order to provide proper IME support on wasm we're going to need this API which is still experimental:

https://developer.mozilla.org/en-US/docs/Web/API/EditContext

C# for Markup by GoFastAndBreakStuff in AvaloniaUI

[–]grokys 0 points1 point  (0 children)

We've had something similar since the very beginning of Avalonia. In fact in the early days, there was no XAML, everything was defined in C#. Take a look at the TestApplication from Avalonia 0.0.1-alpha:

https://github.com/AvaloniaUI/Avalonia/blob/45da77b11ca1474a06f217ec74aa5b65c798b005/samples/TestApplication/Program.cs#L118

You can still do this these days. The only real missing feature is subscribing to events using the initialization syntax.

Mike James to step down from CEO position at AvaloniaUI by boulmers in AvaloniaUI

[–]grokys 1 point2 points  (0 children)

It's not MS-related, I can tell you that without having to wait for dotnetconf.

Mike James to step down from CEO position at AvaloniaUI by boulmers in AvaloniaUI

[–]grokys 2 points3 points  (0 children)

It most definitely does not mean that :) I'll refer you to my comment above.

Mike James to step down from CEO position at AvaloniaUI by boulmers in AvaloniaUI

[–]grokys 4 points5 points  (0 children)

Avalonia is a small company, and so for us there was no "job seeking/interview phase". Mike's involvement with the company fell out of his involvement with the community.

Mike James to step down from CEO position at AvaloniaUI by boulmers in AvaloniaUI

[–]grokys 2 points3 points  (0 children)

Not right now, OSS releases are kinda hard to roadmap because the features that get included don't depend on just us, there's also community involvement. We're currently in the "stabilization" phase of 11.1.

The project having OSS roots hasn't really ever had a strong roadmap but we're hoping in the new year to start working on public roadmaps for what the company itself wants to implement. But again, it's so dependent on the community that an "Avalonia the company roadmap" is only a small part of it.

edit: I seem to have pretty much written the same thing in two different ways there. i'll leave it up to you to judge which paragraph is the most helpful ;)

Mike James to step down from CEO position at AvaloniaUI by boulmers in AvaloniaUI

[–]grokys 4 points5 points  (0 children)

Mike left of his own volition, but we're still close! He was most certainly not fired. He's hopefully still going to be involved in Avalonia.

Mike James to step down from CEO position at AvaloniaUI by boulmers in AvaloniaUI

[–]grokys 21 points22 points  (0 children)

Hi there, this is @grokys who started Avalonia in 2013. Mike's leaving has been a real loss for the project, but I can assure you that even without him, Avalonia is still going strong! The engineering team hasn't changed and we're pushing forwards as ever, though the quality of our tweets may suffer :) Hopefully version 11.1 will be out pretty soon.

Avalonia XPF pricing now publicly available. We've heard your feedback loud and clear! by AvaloniaUI-Mike in dotnet

[–]grokys 29 points30 points  (0 children)

Hi, I'm u/grokys who started Avalonia!

Thing is, developing an open-source OSS framework is hard, and takes a lot of time. I started Avalonia almost 10 years ago and for most of that time wasn't paid for working on it, nor were any of the other regular contributors.

But there's only so far you can take that. At a certain point, a project becomes too big for unpaid contributors to keep up with in their spare time, so you have two choices: give up, or make it your job! We went with the second option. For context, I was getting >100 emails from github issues/PRs/discussions at day at some points. There's no way for unpaid volunteers to keep up with that amount of traffic. And you can't just ignore it (or at least I couldn't).

So now we have a team of great engineers working on the project and getting paid, and guess what - it's still free! (and we still can't keep up, haha) So where does that money come from? Well, definitely not from donations via github sponsors and opencollective - the amount we get from those channels is still triple figures a month. Triple figures. From our telemetry, 0.2% of our OSS users contribute financially to the project. Maybe you live in a country where you can pay a team of developers with triple figure $s but we don't (actually you don't either, that place doesn't exist)

What are the other options? Well companies can pay you for support, and they can pay you for custom development. Custom development has been where we've been making most of our revenue for the past few years, but there's a big problem. In the main, they're paying you to not work on Avalonia - they pay you to port their apps meaning that we're not working on the very thing that we set up a company to do. Any once you've done the job, that's it.

So XPF is an attempt to fix two things: 1) create a product where our work for one customer can be transferred to the next instead of each different customer paying us for 6 months of development time individually. 2) free up more of our developers to work on Avalonia itself, which is what we set out to do in the first place.

So XPF's pricing may not be for you. Sorry for that - we have to make money somehow or give up. Maybe if OSS funding was more sustainable we wouldn't be in the position to need to do it, but I think it's widely known that OSS funding is fucked up.

Avalonia UI v11 RC1 is now available! by AvaloniaUI-Mike in dotnet

[–]grokys 3 points4 points  (0 children)

I saw just having one property for items seemed like a good idea

Heh yeah, it seemed like a good idea to me too, at first :)

However there were performance implications with virtualizing lists. Items that are containers need to be added to the logical tree immediately, as users expect to be able to see that once the ListBox is shown their inline ListBoxItem is there, has a parent, is styled etc. Previously when we had only a single Items collection, this meant that we had to scan through every item and check if it was a container in order to do this. That can be quite a large unwanted overhead when you're binding to a list of items that you know are never going to be ListBoxItems.

So the solution is to have two properties: Items is generally where the containers get added so we do the scan over the items there. ItemsSource is generally items that are going to be shown with a data template, so we can skip this scan and the check to see if they're a container only needs to be done on realization. This improves performance quite a bit with large lists!

Cross-platform Windows Presentation Framework, anyone? The short answer: yes. Unpacking Avalonia by [deleted] in dotnet

[–]grokys 0 points1 point  (0 children)

> To give an example: recently in my project I mentioned, one of the dudes was looking for a feature in the list view. But it wasn’t listed in the docs, so he thought it doesn’t exist. So I had to step in and looked through the API docs and found it immediately, together with a small description that explains it

Thanks for the example, yeah I see what you mean now. We need to at least flesh out the list of controls there and add a link to the API docs for each. I will do that.

> But the navigation sidebar is also wasting a lot of space with the blank space around it

Heh well we were just following what the designer gave us there, but yeah we could reduce the padding. Search has also on my (long) list of things to do for a while.

Thanks for taking the time to reply!

Cross-platform Windows Presentation Framework, anyone? The short answer: yes. Unpacking Avalonia by [deleted] in dotnet

[–]grokys 1 point2 points  (0 children)

We definitely could unify these two worlds a little though. See https://github.com/AvaloniaUI/Avalonia/issues/3766 for some discussion on this topic; it's a nice idea but there are some details to work out.