On paying for software
seths.blog
seths.blog
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.
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.
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.
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'.
The point being that anecdotally, windows doesn't have it down either.
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.
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 :-)
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.
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.
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.
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.
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 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.
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:
https://www.patreon.com/foosel
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). :)
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.
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.
What part of that doesn't apply equally proprietary software too?
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.
Having paid for sublime and PHP storm, both have vim modes. But I prefer nano (yes I'm one of those lol ;-) )
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.
I also am the author of an active Open-Source project. I accept donations but they have never amounted to much.
https://www.patreon.com/evanyou/overview
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. ;)
https://www.patreon.com/sindresorhus
but he's kind of a unicorn (pun intended). I am sure this would not work for everyone.
https://github.com/sindresorhus/ama/issues/414#issuecomment-...
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?
https://github.com/buildbotics/bbctrl-firmware
No worries at all. :)
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?
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. https://www.fool.com/investing/general/2014/06/13/does-onlin...
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.
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.
> "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.
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.
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. :)
It hasn't been a tremendous success story so far - but these things take time.
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.
You could create a cooperative of users that hires one or two developers to work for all of them.
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.
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.
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.
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.
I did downvote him, although I'd not disagree with him (or anyone else) preferring to produce closed-source software. He could've justified himself w/o telling lies about the other side.
It is easier to find people willing to pay for software when focusing on Apple and Microsoft platforms.
How has been your experience regarding consumers per platform?
And also people can't pay everybody 5-10 dollar/euro for everything, we would quickly need to pay thousands of dollars/euros yearly to access/use everything. That's why I think sometimes having another way of "paying", like through ads or maybe some kind of crowdsourced project is a good alternative for some things.
Thanks open source.
Free software is a wonderful thing - it's fantastic that our community shares its work so widely and generously. It is not, however, the only, or the best, model for creating innovation at all times. I'm able to work full time on Dependabot because by providing it as SaaS I can pay myself a wage and by owning the codebase I can protect myself from a larger player copying my work. There's no doubt in my mind that enabling me to work on the product full time is a better outcome for the world than a license that would let others distribute and profit from it.
Especially if you are already giving it away to open source projects -- my bet is most people who see "call me" as a clause will move on, even people you are actually trilled to help.
AGPLv3 would be a decent suggestion, but even your own license wouldn't be bad either.
If a commercial entity wants to add the core functionality of my product to their offering then there's definitely going to have to be a negotiation first. AGPLv3 wouldn't be appropriate, as the commercial entity's code being open source isn't a material consideration for me.
(The license text I was referring to is here: https://github.com/dependabot/dependabot-core#license. I could hire a lawyer and put a proper, proprietary license on the repo but I'm bootstrapped and don't think it's necessary.)
I find this statement confusing. In what sense do you not "own" your codebase if you release it under the GPL? And if the software is released under the GPL, large players have no advantage, because they have to release all of the changes they make to your code if they're using it to compete against you.
What you're saying is that restricting and hiding your codebase allows you to make more money. And there's nothing wrong with that, but it's not right to spread falsehoods about free software licenses.
Building a business is about distribution as well as product. My product is pretty good, but my distribution, compared to a large player with an existing user base, is woeful. If I licensed under GPL I would be giving explicit legal permission to any big player (who was open source) to take my product for free, and compete with me solely on distribution.
Licensing my product in the above way wouldn't be good for me financially, and as a result would decrease my likelihood of working full time on Dependabot. Worse still, it would disproportionally decrease my returns from working on the product, as opposed to distribution.
Thanks to copyright law we don't need to hide our codebases in order to charge for our work. That's a great thing, and there should be acceptance of code that is developed in public but without a permissive license. It's a perfectly rational decision, and creators shouldn't be put under pressure to give their development work away for free instead.
Thanks to copyright law we don't need to hide our codebases in order to charge for our work.
I don't understand that part ?Intellectual property law changed that - it made it possible for people to openly disclose their inventions whilst maintaining control of them (normally with some conditions). It was a really, really good thing for society, as it dramatically increased the returns to "thinking work".
I can probably dig out a link if you're interested.
In what sense do you not "own" your codebase if you release it under the GPL?
There is no concept of property for information. By hiding your source codebase and the way it is being built (the same logic applies to your DAW music project, your video software editing file project etc...) you are making life harder for people who try to replicate features of your software, understand techniques behind it or pretend to be you to sell the software instead of you (others examples are welcome).So I can understand that the GP /feels/ like he owns it more, even if it is just a feeling.
How about dual-licensing as CC-BY-ND (using the bot as-is, even for profit) and CC-BY-NC (making modifications, but not for profit)?
So what? Nothing about software development is 'natural'. I don't even know what definition of 'natural' you're using here.
> It's a phony concept that exists to support an unnatural business model.
It's a social construct that we've adopted in society because it allows for things we like.
> The real business model should be players paying you directly to develop and update the game they want to play for as long as they want to play it.
This is a valid business model for some games, but there are many games that would not exist without such a model. I'd prefer that those games exist instead of insisting that reality should be the way that fits nicely with my arbitrary mental models.
Why do you say so?
> I don't even know what definition of 'natural' you're using here
I think that he's talking about the ease of copying software: it's quite hard to make people pay for something so easy to duplicate..
> Why do you say so?
Because building even the simplest computers requires large-scale industrial processes. All of this is based on a social/economic system that required the intelligent design of many many people and organizations.
In the scientific sense, everything is natural. Truly "unnatural" things are like supernatural things -- stuff that exists only in fairy tales or horror stories or some metaphysical religions.
Saying that something is unnatural is typically a value judgement meaning that it is unhelpful, damaging, or against a goal considered inherent in some area of life, and so on.
Otherwise, a more valid if unfortunate use of the word "unnatural" is as the common short-hand for "human-made" or "artificial", similar to the way that "animal" is used as a short-hand for "animal that isn't human". Of course propulsion labs, parliaments, and property laws are absolutely as natural as mushrooms, mollusks, and manatees, but in addition to being natural the former are also human-made. In this truest and widest sense, everything that is artificial is also natural.
Other uses of the words "natural", "unnatural", and "nature" should be informed by this broadest and truest one, especially when making judgements about laws or norms or behavior. This might sound pedantic, didactic or even obvious at first, but with some consideration it may reveal itself as a surprisingly useful and clarifying point to keep in mind.
Rather than proclaiming copyright laws unnatural -- a value judgment masquerading as an objective fact (perhaps unintentionally) -- it would be more fruitful to ask questions such as, "How does copyright differ from other property laws?", "How are property rights justified?", "What are the differences and similarities between physical things and ideas?", and so on.
Yes, it's nearly free to copy digital works, which therefore lack the same level of scarcity that we experience in the rest of our lives.
Yet the creators and consumers of intellectual and digital works have little choice but to create and consume those works in the broader context of the world of physical scarcity in which society is embedded. It's sad, but you can't stop burning calories and taking up space just because you are consuming digital media.
Copying data is a fundamental operation that all computers are able to perform and it costs nothing. Therefore, data is naturally easy to copy.
Software doesn't need to be manufactured like physical goods do: the software construction step is fully automated by compilers and build systems. The cost of all this is approximately $0. Networks aren't free because of bandwidth costs, but they still make it really easy and cheap to copy data to a lot of computers.
Since games are software and software is data, it is rather easy to distribute them to an unbounded number of machines. Even if you come up with some complicated copy protection scheme, people only need to crack it once and produce a DRM-free version of the game that will work everywhere and won't do stupid things such as require an internet connection. Even cryptographically secure platforms such as the PS4 eventually got cracked and the first thing people did is enable the execution of unsigned software.
>insisting that reality should be the way that fits nicely with my arbitrary mental models
That's exactly what copyright does.
That is not true. Running, maintaining, etc the IT infrastructure is costing money, electricity etc. It doesn't come for free.
If we have 400 W sustained for one second, that equals 0.000111111111 kW * h. (400 Watt * second) * (30 cents / kWh) = 3.33333333 × 10^-5 U.S. dollars. In Hawaii, that one copy would cost $0.0000333333. If one were to make 100 000 copies of that same data, it would cost $3.33333333.
¹ https://www.electricchoice.com/electricity-prices-by-state/
But you are right on the principle : storing, copying and transferring data always costs energy (in physics, temperature, energy and change of entropy are linked together)
¹ https://en.wikipedia.org/wiki/List_of_best-selling_video_gam...
Source code surely is manufactured. I write it with my hands, using years of knowledge and experience, spending a lot of time on it.
Right. We not only write it with our hands, but with our brains too, as well as with the effort we put in over years to gain the skills needed to write the software in the first place. Otherwise any newbie programmer could write any of the software in the world, including complex ones.
This reminds me of that story of a senior retired engineer who was called in to diagnose a problem with some expensive, complex machine that he had worked with or operated a lot earlier (and/or maybe had invented). He walks into the room, bends down near the machine, taps it a bit, then makes an X mark with chalk near the bottom left corner. "There's your problem", he says. They open the machine, check that area, and sure enough, the fault is found and fixed. They ask him what his fee is. "$50,000", he replies. "What?", they ask. "$50,000 for making a chalk mark?". "No", he says. "$1 for making the mark. $49,999 for knowing where to make it."
In order to pay for your software development services and turn a profit, the digital goods you produce are made artificially scarce so as to enable their sale. However, that does not change the nature of those goods. Copying them is still trivial.
I'm quite sure they're referring to artificial scarcity. Making copies is very easy, making games is very hard. Therefore it makes much more sense to charge for the development of the game rather than the copies. Making abundant resources artificially scarce is either frowned upon or flat-out illegal in pretty much every other industry.
> there are many games that would not exist without such a model
How do you know?
The issue here is that there seems to be a fundamental misunderstanding of how markets work. Toro could choose to cut production of their lawnmowers by half and double the price, and this would cause "artificial scarcity". However, it would also be perfectly legal and downright stupid of Toro because the competitive lawnmower market would punish them dearly for it.
It's not my job to invent business models for other people, but all Kickstarter-type funded software is a good example of one possible way. Another is maintaining and updating a gaming server and charging for access to it, like World of Warcraft does.
> The issue here is that there seems to be a fundamental misunderstanding of how markets work. Toro could choose to cut production of their lawnmowers by half and double the price, and this would cause "artificial scarcity". However, it would also be perfectly legal and downright stupid of Toro because the competitive lawnmower market would punish them dearly for it.
If you had a device to copy lawnmowers, but the lawnmower industry fought back to make copying lawnmowers illegal, then you'd have a working comparison.
As for your other comment: I believe there's a saying that covers this:
https://en.wiktionary.org/wiki/if_my_aunt_had_balls,_she%27d...
Neither are money or laws, in that sense.
Indeed. Neither are money or laws. Or promises, for that matter.
They have to find your game and know they want it first, and it might not be too obvious to other people why they might want your game until it is already far enough along that it might as well be released. And by then it might be too late, unless you've made a game that can be endlessly added to.
First impressions count for quite a bit, so if you make your game available before it's really ready, when there's only a small amount of content, etc, then people (who might have loved your completed game) might give it a try, decide 'This game is broken and there's no content' and then never bother giving it a second chance.
Not to mention that indie game developers (especially those that get funding ahead of time, like on Kickstarter) tend to overpromise and and underestimate how much time and money those promises will take. See: Mighty No. 9, No Man's Sky, Star Citizen. Even the mega-hit Shovel Knight burned through all the money it crowdfunded and the developers had to work for zero salary for four months before the game was released.
Finally, the moment you make your game available for others to play, you're instantly on the hook for technical support, which could take a large amount of time, especially if you're one of only a handful of developers, precious time that could be spent developing the game instead.
So long story short, if developers want to get paid as they are developing a game, they will have to spend an inconsequential amount of time marketing and supporting an unfinished, broken buggy game, which could easily take 60% or more of their time (a percentage I often see people claim is needed for the non-software side of their software business).
It's a business model that works in some instances, but it doesn't work for everyone.
What if everyone had a Star Trek replicator? Would they still pay for products according to their value? That's what a computer acts like.
As for Star Trek: when that day comes, we'll deal with it then.
Lack of incentives didn't stop the artists of the past. Many were able to secure patronage.
It is really, really difficult to build a career around patronage. A few people can do it. Most cannot.
The fundamental flaw of the "software should be free because duplication costs are zero" argument is that it ignores the total economic picture of software development. It's like saying "gasoline should be free because it costs next to nothing to run the pump motor at the gas station". Without someone's significant investment of time and money, that software (or that gasoline) is not going to exist. For software, the means of production is not a simple file copy, no matter how easy it is to invoke that COPY command.
We've been paying craftsmen for their work for many thousands of years. Software isn't any different if you take an honest view of the whole process.
What I've been observing, though, is people acting as if the software is free because copying is practically free. This happens all the time and nobody even thinks about it. Friends share programs, music, movies, pictures, documents and all kinds of data among themselves and they may not even realize the fact they're infringing copyright. I see my colleagues sending each other copyrighted scientific articles via messaging applications every week. Nobody really thinks about some journal's copyright, it's just "those people need this file and I have it, so I'll send it to them". Companies have been trying in vain to police this behavior for years. I don't think they're ever going to succeed. I think that's a sign this system is incompatible with current technology. What good is a law if you can't enforce it?
>It's like saying "gasoline should be free because it costs next to nothing to run the pump motor at the gas station".
I don't think this is the same thing. A more apt comparison to software would be "gasoline should be free because the pump is magical and can somehow duplicate existing gasoline, creating new matter in the process, and the cost is so infinitesimal we don't have coins worthless enough to pay for it unless we purchase a whole tanker's worth of fuel". I'm willing to bet that such a magical pump would drastically change how people perceive the value of gasoline. Even though creating that first volume of gasoline required a substantial amount of money, the magical pump can simply duplicate it endlessly.
In your patched-up analogy, someone has to pay for that first billion dollar gallon of gasoline. Someone did pay for the exploration, drilling, extraction, transportation, refining and marketing of the fuel; they paid for equipment, for people's salaries, for mineral rights, for the overhead of keeping a company running. It's a lot of money; it's an investment, and the investors expect a return. Take away the return and you'll find that none of the exploration, drilling, refining, etc. are going to happen. Have fun starving in the dark.
Software is no different, except that the "transportation" costs are close to zero. None of the other costs are zero, but the cheapness of that COPY command is all people really think about. They don't want to think about the engineers, the animators, voice actors, IT staff, management and rooms full of equipment necessary to create the product. They don't want to know about buying servers, spending money on marketing programs, creating sales pipelines, paying taxes and permits and making sure companies can hire and retain the folks necessary to make more product. I guess it's inconvenient to the rationalization.
This may be an acceptable model for games-as-a-service, but how is anyone supposed to make money on single player puzzle or story-driven games? I enjoyed westworld, but I have no desire to replay it. By this same logic, it's also 'unnatural' (whatever you think you mean by that) to pay an author for a book. Some software products don't necessarily fit with your proposed update cycle, there are a significant number of games that get developed, released, and that is it aside from bug fixes.
That's not a complete argument. Anyone can mop the streets, but we still pay for their services.
"Goodbye to your propietary business" applies when you have a commoditized product that's easy to replicate feature-by-feature. In which case this is not a free vs propietary problem - another propietary competitor could leave you in the dust just as bad - it's a general vision and execution problem.
"Why isn't Nomad List free?"
I've never heard about this tool before. I'm pretty sure that you would be able to sell more if you market it a bit more. Thanks for the software!
thanks - appreciate your response and its cool to see you building and selling your software!
Also I suggest anybody using this software with a paid subscription to evaluate this bit from the EULA:
> fman is provided as-is. You are using it at your sole risk. We give no warranty of any kind. You agree that we shall not be liable for any damages related to fman.
Source: https://fman.io/eula
Also, stop this FUD already. Anybody can release software however they want, free, libre or not, but this attitude that I quote from your link is plain wrong.
> We all like free stuff. But in a world where everything is free, we are the product.
We're talking about FOSS software here, not about Facebook or Google. If you don't want people "bashing a little guy who's trying to innovate", you can quit spreading misinformation about people whose gratutiuous libraries and kernels you use (yes every platform you release to uses FOSS somewhere).
While I do use paid services, I usually “pay” (donate) for free and open source software. Why? It helps me get my work done, support is usually good, I set the price and I know that people who aren't as fortunate as I (being able to afford to buy software) can use it for free and get the same opportunities as me. :)
Consequently they engage in endless hardball negotiation and invite other suppliers to provide quotes (even when your offering uniquely meets all requirements).
In the end the challenge is to get customers comfortable that they’re paying a fair price for what they’re getting. That however is much easier to say than to do.
No one wants to be ripped off. Software basically can't be objectively priced. You might be selling £50k per seat software that competes with £50, or free. It sucks to be making that decision.
Can anything be objectively priced, how?
OTOH, softwares prices can be affected by too many parameters.
Then again, IT industry is a child when compared to say, mechanical or Civil industries.
Figure out how much time / money it will save them. How much that is all worth. Tel them your software is less money than that.
I have the luxury of knowing I have the best product, but even if you don’t, you can’t give in to the hardball shit. Play hard to get instead. Dare them to go buy the cheap thing and let them feel like you know they’re making a mistake and you’ll see them in a few months when that doesn’t work out. It pays to be cocky in those situations. It starts to make them feel like you must know something they don’t.
It’s the only way. (I sell one of the most expensive software products there is, with loads of cheaper competitors)
If it works for you and you want it to keep working, making a donation/payment may not be the worst idea.
Quoting from https://en.wikipedia.org/wiki/Canonical_(company):
Canonical achieved a small operating profit of $281,000 in 2009, however until 2017 it struggled to maintain financial solvency and took a major financial hit from the development of Unity and Ubuntu Touch, leading to an operating loss of $21.6 Million for the fiscal year 2013.[19] The company reported an operating profit of $2 Million in 2017 after shutting down the Unity development team and laying off nearly 200 employees. The company now plans to focus on its server and professional support solutions, which have proved to be most profitable. By shifting resources away from Ubuntu Desktop and cutting less profitable products and services, Canonical plans to maintain solvency and achieve long-term profitability.
"one isn't" (your words) to the extent that they had to switch focus away from the desktop OS to stay afloat. Much as people would like to pretend otherwise, the almighty dollar/euro/yen/etc. is still what matters most.
Take voter management software - the preparation of polls, counting of results etc. all this software behind it is afaik propriety but used exclusively by the public sector - which seems mad, and even risky when we look at electronic balloting, but can one persuade any government to kickstart the process of building new? i cannot
Edit: thinking of this, what chnage would a kickstarter project stand to build a base of oss government software?
(I know things like GDS and 18F exist but they are not covering the full range of services - see http://oss4gov.org/manifesto
Thousands of developers make money building products or services for clients using open source software. But what if you don't want to be a consultant and simply want to charge a business for using your open source product?
The Free Software Foundation (FSF) says that you can sell your free software by charging for distribution (for example via CD-ROMs). Physical media made sense in an era of dial-up modems and low-bandwidth connections, but no-one can realistically charge for distribution today - not least when so many projects are hosted for free on GitHub. See: https://www.gnu.org/philosophy/selling.en.html
So what are the alternatives?
- There's the dual-licencing approach e.g. Red Hat. (Naturally doesn't work with permissive licences. Requires a strong copyleft licence like the GPL).
- The open core approach e.g. GitLab.
- There's also the option of charging for support only - I'm guessing this is an unattractive and unappealing option for many developers who'd much rather be building their product.
- Or there's the Kickstarter or Patreon approach which simply isn't a stable, sustainable long-term solution.
There have been some alternative licence approaches such as the Fair Source licence (fair.io). This is neither open source or closed source but allows developers to charge for their software.
The large market for Wordpress plugins is an interesting case study. Wordpress is published under the GPL v2, but many Wordpress plugins are not open source. No one polices this, but those plugin developers are selling their software to businesses who are willing to pay for the features of those plugins.
So who here in 2018 has made a success selling their open source software? Did you follow one of the models above? And who has struggled to make it work?
Do you really expect people to pay for something when they can get it for free?
Making software open source means you are either selling something complementary (hardware, other software, services) or else begging for crumbs.
It depends. In my own business I decided open source 'customers' are more trouble than they are worth so I do very little.
Just the fact that people are willing to pay for my software is a strong validation that I'm doing something useful and on the right course.
While selling to enterprise can be made via consulting and training, most consumers just want a one time shot paying for their software.
Well, if you do that with commercial software, usually the only way to avoid paying is piracy.
In open source world, they can just go to another guy that is re-packaging your work and making it available for free, thus killing your source of income.
Which is the major reason most desktop software shops are going the store model, hoping that higher control will prevent that kind of workaround (which doesn't work with rooted devices anyway), or forcing consumers to migrate to a SaaS like in the good old timesharing days.
I might add that FOSS developers are the first to blame, as contrary to most professions, many go to great lenghts to avoid paying anything, while feeling entitled their costumers pay them.
I am overgeneralizing here, but you see it every time someone comes up with licensing changes as means to be able to keep working on the product that they love, right away the forum gets flooded with free beer alternatives and vocal complaints how everyone is going to migrate to something else.
I actually think the dual-licencing model seems the most realistic for many developers who are selling to a business. Ironically, it's because a strong copyleft licence like the GPL is unattractive to many businesses that they naturally turn to the commercial licence which allows them to make changes they don't need to release publicly.
I'm sympathetic to what Fair Source is trying to do, but even that garnered a lot of negative reaction among developers (at least if you read the discussion on Hacker News).
Also your production environment crashing because a license expired. Fun times.
Businesses actually don't give two sh*ts about being "tightly coupled" with a proprietary product. That's a sysadmin thing. It makes sense to the "us" of the world, but businesses don't care.
Look at any area or field where billions or trillions of dollars worth of transactions still go through systems running on IBM iSeries, or mainframes. It's just the cost of doing business.
I've been burned a few times and lost data just because a company goes out of business, or I decided I wanted to use a different platform and all my data from before was locked in to this other proprietary system.
So yeah, if you're coming up with this hot new productivity/task software and I can't either download the data in an open format or at least use the software on the desktop, 100% offline? No thanks.
And in general I hate subscriptions unless I'm getting access to libraries of content, i.e. Spotify, Netflix, or it's just for updates. By that I mean I get the software and a year's worth of updates when I paid for the license, and it's mine, you can't take access away from me, I have it for as long as I want, and I only pay again when I decide I use the software enough and the updates are compelling enough that I really want to update.
Which is another reason why SAAS and Web apps don't really work for me, because they almost invariably charge a monthly fee and there's nothing to download so I just lose access the moment I stop paying. There are exceptions, but those are rare (mainly web hosting and cloud storage).
It's for this reason why I refuse to pay for Adobe Suite, because you only have access for as long as you pay the monthly subscription. Screw that, my copy of Adobe Illustrator pre-subscription still gets the job done fine thanks. I might have upgraded by now if they hadn't switched to a subscription model, but now I'm going to keep using that as long as humanly possible, then search for an alternative.
That said, I don't disagree with your basic point. In the case of Adobe, I use one of their programs fairly heavily. But most everything else is once in a blue moon. As a result, their Suite subscription doesn't work for me as I'm perfectly happy running something from a few versions back. Subscriptions only make sense for things you use pretty regularly.
Just thinking about the way that version control was done for Linux before Git. The author of the system was happy to have people using it as long as no one reverse engineered the product that he was actively selling to customers. The reaction from the community was, "thanks for contributing your hard work...now I'm going to make a clone."
There's a sense of entitlement that really turned me off of open source *nix for a long time. That's just me though. I'm over it, it won...OSS won...free beats everything in the end.
It would have to eliminate forking by necessity. I don't see that as being a downside, though. I think the open source community commonly forks code to save time when the correct technical decision should really be doing ground-up rewrites.
I think the primary issue would be giving away the 'secret sauce' so to speak. But a motivated competitor could still decompile and reverse engineer an application. Would giving away the source code make it easy enough to do that it makes a big impact? like how Android apps are so trivially easy to clone that Chinese competitors can clone an app in seconds.
I also think with WordPress in particular, the target customer doesn’t know how to compile the plugin source if they find it. It’s easier to pay than to figure out how to get it for free. Now, whole rings of people sharing premium themes and plugins exist, but the malware often added to those items can turn people off of that method. It’s easier to just buy it.
Honestly, support seems to be the most long lasting option — see RHEL and Canonical and Oracle with their Linux distros. You can use centos instead of RHEL (and could before red hat took it over, for that matter), but you’d need to deal with the the problems yourself or have a person on staff to deal with them. Especially as stuff is more cloud-based,it’s easier to just have a support contract.
The problem with this model for the indie developer, of course, is that the act of offering support has a cost too. Time, extra staff, logistics — and that can be harder to do than the closed-source perpetual license model, where you offer support but it’s understood the transaction is primarily for the software. And just speaking for myself, if I buy a piece of software, I’m not necessarily going to bug the dev every time something breaks b/c I was really buying the ability that use the software that would otherwise not be available to me. But if I am explicitly paying for support, I’m going to be more entitled, even if it’s for an OSS product. Because if I don’t get support and it’s OSS, why didn’t I just compile it myself and save money?
Red Hat doesn't dual-license and sells subscriptions (support, updates, backports, KnowledgeBase, etc.) for open source offerings that use a variety of different licenses including permissive ones (e.g. OpenStack).
For us it's an initial experiment, as we had no idea at all if anyone would decide to become a Patron.
However, it's um... 3 or 4 days since the account creation and already some people have become Patrons. Kind of nifty. :)
Other people have been at it longer, and are definitely having a measure of success with it. For example, seeing Gina Häußge being able to work full time on OctoPrint gives us hope for the future. :)
This bit is confusing to me. AFAIK Red Hat doesn't use a dual-licensing approach.
Is it something they've recently introduced?
> ... just a rebuild of all the open source parts of redhats software.
That seems like super weird description of things. :)
All of the Red Hat OS software is Open Source. The only significant pieces CentOS don't include are the Red Hat branding and artwork:
As far a dual licensing goes... that doesn't seem related to this? :)
Those are services, not standalone software. (Tidal may be standalone, but it's from 1979.)
It's not like people are still buying Walter Bright's C++ compiler.
On the same note, paying for software has psychological benefits for the person as well, which I wrote about recently https://rolandas.blog/posts/id-rather-pay-for-software-than-...
If it works for you and you want it to keep working, making a donation/payment may not be the worst idea.
Yes, agreed. However, one of the points I think I'm trying to make is that that paying for a piece of software doesn't automatically make it better quality. I think that a lot of people in the free software world do try and put as much effort into making a good product as the ones in the paid world. Even under the pressure of not knowing how they're going to pay their mortgage. :/
As long as nobody is compensated, it is very fair system. But if somebody gets compensated for their work, then if their work depends on other people's work for free, the other people not being compensated is not fair.
For example, consider somebody producing Youtube videos using FOSS. They are compensated, yet the authors of the tools they use are not (necessarily).
FOSS basically started as a radical revolt against copyright system, which is somewhat dysfunctional, but its purpose was to make compensation fair.
But maybe a better copyright system would actually help. Say limit copyright to 5-10 years. The short term would remove the huge gap between doing copyrighted work and doing work for free, and make them more compatible with each other.
FOSS depends on the copyright system in order to operate. If you don't have rights to created works you have no rights to impose reciprocal obligations on downstream users.
In recent years, many programs became BSD-like licensed and it didn't impede the availability of their source code. Similarly, in the world of Minecraft, many mods started closed-source but free, and eventually became open-sourced, because it turned out to be beneficial on its own.
I actually like the free software philosophy, but it might be that the copyleft clause is not required if there is enough rational self-interest. However, in the current copyright system (where the copyright lasts effectively forever), this self-interest commands to hoard the source code (for the duration of the copyright).
But you can also remove roadblocks in copyright to make commercial model closer to open source. Which is what I am talking about, and it would make it also beneficial for the open source developers.
After all, if the open source model benefits everybody, why should only developers make the concession?
At least RMS’s form of the Free Software philosophy sees preventing non-free software, not encouraging free software, as the highest goal. In this version of the philosophy, tools that prevent even a small amount of non-free software being made are valuable even if they don't do anything to encourage free software (and even if they impede it somewhat.)
It would be additional incentive to release the source code after it enters public domain.
It would certainly not be helpful to the implementation of the philosophy of the part of the Free Software movement (which includes RMS) that wants to prevent non-free software from being created to the extent possible.
Remember, the copyright was created in order to promote creativity. If the term was short enough, then lots of useful software could be created based on the source code that is in public domain which was previously monetized by being closed source. This additional software would be an economic win for everybody.
Last time I heard there are so many SaaS indie developers forced to add WHMCS, amember pro or Woocomerce/Shopify for collecting payments using crypto, stripe, and PayPal. I mean, these platforms aren't for SaaS!
Then offer a hosted version which implements high availability, load balancing, robust failproof backups.
Most developers start their projects in areas which are unlikely to pay off, I don't blame them for this as it's something they find interesting but we shouldn't expect the market to pay for our interest.
Not only that, but there's an underlying assumption here that some person or company has to receive a wage or profit for a software to be maintained or repaired, which is simply not true.
Indeed, one can have unpaid maintainers. But it is more difficult to keep a healthy team running when none of them can focus full-time on the thing because all of them have to support themselves with other jobs.
Interesting concept. Can anyone expound on what he means by this?
I, as a programmer, think about saying to other people that they cannot use a piece of software that is already written unless they give me money, is a damn ridiculous idea.
Software is wealth.
If I had a gold coin that had the property that I could give it to you and still have it, and that both coins would increase in value when I did, and that you and I both can repeat the process endlessly, then there is no good reason not to give out the coin copies freely.
One model of a computer is a set of automatic functions that each solve some human problem or need. We should all be working together to expand that library of functions as rapidly as responsibly possible.
Attempting to extract value from the economy per-copy is retarding the whole system. It's a selfish local optimization. My basic argument is that we should use computers and software to globally maximize human happiness and contentment, and avoid local optima.
tl;dr: "Don't be greedy."
So how do you make money? First, if you want a lot of money, open a bank. Let's narrow the question: How do I make a living? House, picket fence, family, doge and qat, gotta have a car, etc... Let's put a ceiling on it, even if it's high. Let's also avoid discussion of financial meta-games, you save and invest, so if you avoid misfortune you're more or less going to be okay, right?
So, how are programmers supposed to make enough money to live the dream if we don't charge per copy?
First of all, the best way to do it since the dawn of the internet is simple: Get 10,000 fans who love you and sell them stuff. (Or just ask them to support you, like the Zig creator is doing.) This is a simple, easy, universally accessible method that's pretty much guaranteed to work.
Second best way: get paid to solve new problems (one thing I am not saying is that you shouldn't charge people to work on a problem you otherwise wouldn't work on, that's fine. Charging people to use your solution after it's been developed is the stupid thing to do, IMO.)
Third(-ish, this list isn't precise nor prescriptive) teach people. I think that learning the Turing Machine trick makes people think better, and learning to program obviously empowers them. (I remember the first time I used an iPad, I thought "this isn't a computer, it's a mall in your hand") The information revolution is still happening, and people need your help to navigate it and reap the full benefits.
Fourth, here's the meta-most: You should be living in a very-low-overhead way right now anyway. We have to learn to live in harmony with Nature or we are about to tank our whole civilization. Go outside, it's June, where are all the bugs?
I'm not a native English speaker. What are those?
a. Entire categories of software (debuggers, databases, compilers) are now in a state where we have trained users to expect them for free. If you like to spend most of your time writing software then the easiest way to work on such software now is to work for a large company who needs to develop such software to solve their business needs. How do we create solutions such that small indie developers can make a living building software in these categories.
b. Even software that is immensely successful at getting industrial adoption struggles to get any revenue from its users. (OpenSSL / Numpy / Pandas / ZeroMQ etc). Inside a megacorp the person using the software faces an uphill battle fighting a bureaucracy to pay for software that is "free". How do we create platforms / delivery systems where large users of open source can pay for the services.
c. Our collective inability to solve the basic economic problem of delivering a stable revenue for free software has unfortunate side effects where software moves into the cloud or becomes a service because that is the only way to get users to pay on a recurring basis. In my mind this is unfortunate because it lessens the amount of control on execution that the end user has.
d. Developer tools still strongly resemble what was available in the 70s / 80s. I suspect some of this has to do with the fact that there is no easy business model for building developer tools.
I think this is the core of what I disagree with in your post. Imagine 3 scenarios:
1) I have a problem that I'd like solved and I go searching for a solution. After a while, I come across a reddit post where someone says "oh, you're trying to reticulate splines? You should buy ReticulatorPro for $50. I use it and its great!" I see that someone built it 3 years ago and I go and download the 1 month free trial, I'm happy with it and in 1 month, $50 comes out of my bank account.
2) I have a problem that I'd like solved and I go searching for a solution. After a while, I come across a reddit post where someone says "oh, you're trying to reticulate splines? Someone is trying to fundraise to build it and they seem pretty serious." I see that they've been trying for 6 months and they are 70% of the way toward their goal. So I pitch in $50, but then I'm waiting as the uncertainty of fundraising and software schedules takes its toll. 18 months later the solution is released. I am less happy.
3) I have a problem that I'd like solved and I go searching for a solution. After a while, I come across a reddit post where someone says "oh, you're trying to reticulate splines? Someone is trying to fundraise to build that." I see that someone built it 1 year ago and I go and download it for free and I am happy.
In the current world, all of these are possible. In the world you propose, option #1 is impossible. I argue that a world with Option #1 available is a better world for everyone. Why? Because in the world of option #2/#3, the only time period during which the developer can raise money is before the product has been created. That means only products with sufficiently good pre-development marketing can be successful. (note: "Get 10,000 fans who love you" isn't "easy" but at least moderately difficult.) In the world of #1, someone who isn't good at pre-development marketing but is good at building a product and using the quality of the product to do post-development marketing can succeed.
I want a world where someone can build a good product and get funding mostly on the strength of their product.
> teach people
Is a valuable but different skill from building products.
You can still send $50 to the creator of ReticulatorPro?
But that's not quite your point, is it?
You're saying that I, as a developer, should be able to work on a product that doesn't have enough qualified demand (pre-sales or crowd-funds) upfront to pay for its development costs, and expect to cover my gamble by requiring customers to give me money before allowing them to use it after I've already written it? Is that right?
Meaning no disrespect, what I'm saying is, I think that's dumb.
Not the first part, that's a problem I face personally: I'm a developer working on a product that doesn't have any qualified demand upfront. (Heaven help me, it's a programming language!) I'm really hoping the Zig creator's plan works out because that would be my ideal life (modulus living in NY. Wonderful city, but I like forest.)
The second part: attempting to limit copying of a digital artifact after it's been written is really hard and I think that setting up your business strategy to rely on it is pragmatically and strategically foolish. That's not to say it can't be done. More like, imagine an alternate universe where Microsoft open-sources DOS and Windows from the very start and Bill Gates has only $100M net worth...
As an aside, in re: getting those 10,000 fans. I've found that a lot of people are lacking one or two skills that would really help them succeed, and if they can connect with other people who have those skills then together they can really take off. If growing a fanbase feels daunting to you, that's okay, you can get a consultant, coach or co-founder that can do it. Kevin Smith found Jason Mewes whose performance in "Clerks" catalyzed both their careers. Anyhow, for my own project, I am going to try "Tupperware parties" https://en.wikipedia.org/wiki/Tupperware#Tupperware_parties
Finally, working on projects you love and believe in is great and I don't knock it, I'm doing it myself, but if you're starting a business to make money you really should pre-qualify your idea, and doing that by pre-selling and/or crowd-funding gives you pretty $$$olid feedback that there's real demand for your product.
Personally, I put a lot of effort into my software and want to get as much as possible in return so I can be financially independent ASAP and enjoy family, nature, and hobbies to their fullest.
I think the bugs are all at my house, by the way ;)