A developer targeting OSX knows they have an audience of people willing to pay him money so he can spend his whole day doing usability tests and his evening watching a little league game.
I do miss strace though.
Most software that you can buy has little or no revenue, which means you will be one of a scarce set of suckers paying for it. That meagre revenue doesn't pay for the developer resources to improve the program.
Paying for software is like an insurance premium against bugs and issues in that program.
Paying for some unpopular software with few users is like buying insurance from an insurance company that insures only a handful of other policy holders.
If you want your child who loves drawing to stop loving it, reward them. If you want them to stop learning, tie a reward to their learning.
It’s very simple, really.
Being able to receive sustainable income for doing what you love doing, is a different formula though. Subtly, but different.
If you happen to remember the material well enough to clarify on this point I would appreciate it :)
It is basically a way to hijack the intrinsic reward mechanism and externalize it.
I imagine if you provide support for he activity, regardless of outcome, and regardless of it occurring or not, then the intrinsic motivation may remain in place.
I am not speaking from memory though; I myself would have to look at the book.
Is there a way to achieve the opposite?
> Being able to receive sustainable income for doing what you love doing, is a different formula though.
What is the difference?
Support it when requested, but give support only when requested.
Think of your child as being driven by their enthusiasm and interest. They don’t control these forces and you do t either. Trying to force them kills them. Trying to direct them suffocates them.
So, be there, celebrate what they celebrate, lend an year to their doubts, feel free to offer a bit of support but never insist on it. Watch it grow and maintain the soil; that’s all you can really do.
Compliments are also rewards by the way ;)
I highly recommend taking a look at the book, it’s in most libraries.
It’s their relationship, their art, their journey. Don’t try to become a main character in it. It’s OK to be a benefactor, but don’t try to amplify it or change its course.
Can we please dispense with this notion and start realizing one simple fact: people will typically only pay for something if you make them pay.
Things to appear to be changing for the better though. As an examply, Gina Häußge is working full time on OctoPrint (3D printing software) supported entirely by donations:
There are probably others too, I'm just not aware of them and have only really started looking at Patreon recently (for a project I'm involved with). :)
I hire some dev interns every year. For the past 5 or 6 years, they all were using Sublime Text as their main editor. And none of them paid it, they simply clicked the nagging dialog away. To all of them I had to explain that it would be fairer either to use a free alternative like Atom or VSCode, or pay the fee (or learn to use a real editor like Vim or Emacs :). People go through incredible pains not to pay, even if your program isn't free. Even if they're programmers, and spend all day using your program.
But, I would seriously argue the proposition that open sourcing one's software does not harm your ability to make money from it. Exhibit A is how often you see a mass of "They want money ? We're switching/forking !!!" type of posts and comments whenever the inevitable "we need to start making money from this project" point hits with an open source project.
As for your example, you're kind of making my point for me. ;-) It's a serious issue, and one that I'm trying to make as much as possible: as software developers, we're seriously harming our own economic well-being as a group by being overly-altruistic and conditioning (what would normally be paying) customers into thinking that our work is without value. It doesn't matter what the reality is, but free=no value in the eyes of consumers.
Having paid for sublime and PHP storm, both have vim modes. But I prefer nano (yes I'm one of those lol ;-) )
Whereas clearly it can, as there are the occasional success stories. So, it's more than 0%. Maybe not a high percentage yet though. ;)
My point is that you can't start a business based upon some vague hope that someday, somehow, someone will possibly choose to donate money to you. You need a reliable stream of income, and one that will keep coming long after the shine has worn off the original product and now you're slogging through complicated maintenance and upgrades.
You want to know why the JS ecosystem keeps suffering from the "shiny penny" problem ? This is one of the reasons.
What part of that doesn't apply equally proprietary software too?
For an already successful OSS project though, it might be a way to turn that into an ongoing income stream to then continue improving the software.
I also am the author of an active Open-Source project. I accept donations but they have never amounted to much.
And yep, I definitely agree. The long term sustainability of projects via Patreon clearly hasn't been established yet.
But, at least some _are+ actually now making decent money, so we can find out how sustainable things are over time.
Hopefully it mostly goes well, but yeah... it's unproven thus far. ;)
but he's kind of a unicorn (pun intended). I am sure this would not work for everyone.
The creator of Vue.js (in sibling comment) has a Patreon account with a monthly income of $US15k+ (at time of writing this).
That seems to be more in line with "standard" professional rates. :)
I'd heard of it before, but haven't yet tried it out. I'll try to get time to do so, as I've recently started helping out a different CNC project (github.com/synthetos/g2).
They kind of look like they might complement each other. Not 100% sure yet though. ;)
Looking through the Buildbotics stuff now and some of the video's. Looks nifty!
Is the motion control done by TinyG2 or g2core? If so, would it be ok to add some appropriate links to our "Who uses g2core?" page?
No worries at all. :)
Open source, on the other hand, is like trying to shave with a razor blade with no handle. It's a hard sell to get people to donate to projects that they know are going to cut them at some point.
An open source project creates no obligation on the part of the developers. Open source licenses explicitly indemnify the authors. Receiving something for free and expecting something more is the essence of the entitled behavior that frustrate and burn out many open source developers.
A donation is a voluntary gift. Like any other gift, a donation to an open source project is understood to have no strings tied to it. Giving a dollar a month to a project doesn't entitle you to round-the-clock support. If you expect something more, have a conversation with the developers to work out a plan.
P.S.: we (https://sheetjs.com/) build and maintain open source projects (our largest is https://github.com/sheetjs/js-xlsx) and we turn down donations precisely because many people expect something in return. Instead, we offer actual paid support plans and additional features.
I meant a subconscious obligation, not a legal one. When somebody gives you a gift, it puts pressure on you (subconscious and social) to reciprocate. You see it all the time with youtube streamers, who frequently cater their content to their subscribers wishes to keep them happy. And to clarify, the streamers don't do this because their users are unhappy or protesting. They do it because they feel a sense of obligation to give their subscribers what they want because the subscribers were generous enough to give the streamer money.
For whatever reason, this phenomenon is completely lacking in the open source community. Instead, the opposite seems to occur. OSS developers are actively hostile toward their users, both vocally and how they react to criticism that their software isn't user friendly or respectful of their user's time. Anybody who has spent hours trying to set up a piece of OSS and then made the mistake of asking the developer for help can attest to this.
Most moderate sized projects have at least decent documentations, some channel for support, and there are a range of third party options to consult. The developer generally should not be who you contact.
Not my experience at all. Well sometimes bugs gets closed for no apparent reason etc but I've rarely been shouted at and I think more often than not they try to help.
And - if this approach that you are showing here is representative for how you communicate it might explain a bit ;-)
Edit: and yes, my approach has worked for years so either it is something I do that you don't or I'm just consistently lucky or something :-)
By all means please donate to projects you want to support. But 'donation' implies you aren't getting something in return. Otherwise it would be a 'purchase'.
Realistically, a $100 donation doesn't get much of my time anyway.
It's more of a pat on the back; people like what you're doing, and the way you're doing it; so keep going. (Don't do anything differently, just more of it.)
I see more passion in paid software in macOS when I see a beautiful UI because it shows that the developer actually wants me to use and enjoy his creation day to day.
Then, there are also badly run commetial projects, which are crap despite being paid for.
My OSS project, which I haven’t worked on in ages to be fair, I never made any effort to make it work anywhere but on Debian for example. I know some people used it in Suse and RHEL so it can’t have been too painful but I never had that as a goal.
This makes it hard to target 'linux' in general with polished software. The issue of package managers seems on its way to being solved by containers. However, the issue of desktop environments is much more thorny. As you can't really abstract away the metaphors with which a user communicates with his PC.
Years ago, I went through a phase getting the installer working well (cross platform) for a PostgreSQL replication project. FreeBSD, NetBSD, Solaris, RHEL, ... there might have been others too, it was a long time ago. ;)
Think about OSS software you've written and contributed to. 99% of time it is to scratch your own programmer centric itch.
Usability usually takes a backseat in OSS model as not many usability experts are working for free.
Same goes for documentation. It is autodoc or nothing.
I always go out of my way to help users who showed gratitude to me, either with a donation (those are very rare) or by being extra nice to me last time I helped them.
But obviously, users who insult my software and myself every time they have an issue come last on my list of priorities.
This is as much true as it is for developers of proprietary software.
There are many examples on both sides that make your statement false, also as many to make it true.
This sounds whiny and more importantly it isn't true its hard to get people to pay for things that they can have for free full stop.
Don't make things more complicated than they are.
OSS isn't polished many times. The installer might be missing. Documentation is out of date or incomplete. The plug-in manager requires using the file system explorer directly.
All of that cuts. OSS can be death by a thousand cuts at times.
Are you an OSS developer by chance?
> its hard to get people to pay for things that they can have for free full stop.
The Apple third party app ecosystem proves you wrong. Users are willing to pay for good software, even if there are free alternatives available.
People are disinclined to fund open source projects that they can get for free.
If you rely on voluntary donations you will find yourself poor.
They may be willing to pay for value added only if getting something for nothing isn't an option.
Then communicate your point better. Losing the hostility would be a great start.
The point being that anecdotally, windows doesn't have it down either.
The things that people choose to donate for, in software, drive an incentive system that results in ever-increasing code quality and security and a bunch of other things that developers themselves care about, and feel that users should care about, but which don't actually affect application polish very much.
It's not even down to the companies choosing to do this or that with your money. It's a response to incentives. They know that, under a paid model, they'll keep getting money only if they do X; and under a donation model, they'll keep getting money if only they do Y. And so they prioritize X, or they prioritize Y, regardless of which one they think should be prioritized.
If you want X from your software, you should advocate for an ecosystem of paid software businesses. If you want Y from your software, you should advocate for an ecosystem of donation-supported software organizations.
If you want both... I'm not sure. Maybe support both ecosystems, and encourage the donation-driven organizations to put their work into "cores" or "engines" that can be wrapped into polished experiences by the paid companies?
Oh, and BTW, the Red Cross, Doctors without Borders, Greenpeace and many other NGOs live, AFAIK, mostly on donations. So that definitely can pay the bills, but the same reasoning applies: it's only true for a small minority, and you can't count on it.
They do, but they also get sponsoring from many governments across the globe, do continuous street actions trying to get people to donate for them´, and after a certain age most people end up leaving to some positions with more stability.
You miss the possibility of simply offering to pay a developer with the relevant expertise to fix one of these bugs for you.
I can tell you from experience that there are FLOSS developers out there with sufficient expertise and professionalism to do this.
In my personal life...that sounds like a stressor that I'd be willing to pay money to avoid.
But you could pay money and your FLOSS problems get researched and solved for you by a developer who is experienced in this area.
In practice I can see this as a forum where people make minimal effort posts and skilled people give them quality support. Just as I was forming the previous sentence I realize Stack Overflow and Reddit kind of do this. Maybe it would just be nice if people found a good way to add payment to the process.
Anyway, it’s not as nice as not having the bugs in the first place, but FLOSS has other advantages. There will continue to be people who choose commercially supported software, but the more we can close the gap on quality with FLOSS the better.
It hasn't been a tremendous success story so far - but these things take time.
With the UI frameworks and libraries, what's your take on things like Qt then, which is cross platform and pretty decent for developers? At least the C++ ones anyway. :)
Exactly, and a single citizen typically doesn't have the means to commission a software project, or even non-trivial fixes to an existing software project.
Expect over a 1000 dollars per day for a qualified developer in a first world location.
Point being. No individual can pay that much and the develop should rather get a day job unless the software has high earning potential.
ADDED: And, if you're contracting through a larger firm, they're adding various overheads associated with managing the project, etc.
500 euro a day is about 100k a year, accounting for 200 work days in a year.
Remove the margin of the firm, pension, healthcare, sick leave, company taxes, office costs, benefits... and what's left is the gross salary.
You could create a cooperative of users that hires one or two developers to work for all of them.
One of the factors that made FOSS much more promotable was a sticker-price for acquisition and / or support. The actual amount didn't matter, psychologically though it needed to show that it had 'worth'. Ifnitnwas free, the business was worried thatvit was just someone's weekend hack. If it cost $5 per user then it was great value.
Not once did anyone raise the free-rider problem when we paid for FOSS. Frankly businesses are so focused on getting stuff done internally that the fact that someone else might indirectly benefit is irrelevant.
Basically if you are strict about trying to eliminate all free riders, you're going to break society in a vain effort to maximize fairness in lieu of effectiveness. Society works because everyone assumes that even if some things are unfair, most will manage and the ups and downs will average out over time.
In the example given on the wiki page, people who swoop in and take the last minutes left on a parking meter that someone else paid for but didn't stay long enough to use are supposedly able to break the system. But I think that trying to lock the system down tight and completely prevent that behavior could feasibly be more damaging to the health of the system than simply tolerating it as an occasional but mostly harmless exploit.
There's a few studies which show that some piracy and other free usage might actually help an industry's profits. Key word is "some"--there is obviously a threshold past which would become very damaging. But nonetheless, if one can set aside their outrage over unfairness (which is very understandable for somebody who has poured their life and soul into working on an IP or paid a lot to license it legitimately) then one can probably stand to benefit even from the thieves and freeloaders if they manage it correctly.
> "did you even bother looking?"
Also, when someone is building a product for money, it incentivizes them to proactively look for feedback on the quality of their product and to value the feedback of frustrated users. When someone is building a product without a business goal focused on pleasing someone else, they are far more likely to be either passive in waiting for people to report things on mailing lists or to be actively annoyed with the reports and to occasionally express that frustration in a way that belittles users.
This seems (to me) like a cultural thing. In this instance, by "cultural" I'm meaning it depends on the culture of the Open Source project.
Many projects do seem to have developers that aren't really hmm... "user friendly" might be correct description. But not ever project is like that.
The PostgreSQL, SQLite, and DB Browser for SQLite Communities are all pretty user friendly.
As in, it's pretty rare to see a display of bad attitude towards someone reporting a bug, asking a simple question, or doing pretty much anything else in good faith.
The attitude in the opensource community about pull requests and donations is sometimes frustrating when you realize that a contribution you’ve made may never benefit the community.
However, it would be easy for me to spend, say £50-£100, for a support licence for software I frequently use.
I would love it if Microsoft added this to GitHub -- opt in of course.