There is one important monetization strategy that is overlooked by this article: dual licensing. License the source explicitly for non commercial use only, then offer a commercial use licensed product (plus support, usually) for a fee. If there is a big community of hobbyists in the relevant field who do the same thing in their dayjob, I think this works well.
Edit: A more open source version of this is to GPL the source and offer a more commercial friendly licensed product for a fee. I don't know if this technically goes against GPL but I have seen people do this.
It’s disheartening, especially so in a tech community, to see comments appear so quickly to cast judgement. “Dual licensing is not open source!”
This is same kind of pedantry that haunts every thread like the last. We know that a bowl of cereal isn’t thought of as a soup, nor is a hotdog thought a sandwich. And yet, there’s always someone out there with the time to argue semantics.
The proof is in the pudding! Software developers who have any business sense will tell you that customers presume that open-source is synonymous with source-available. Marketing your software with that presumption isn’t a moral failing — It’s business!
And if anyone out their still has an unfulfilled quandary, I would recommend that they try to monetize their open-source code and experience the illucrative rewards of the MIT and BSD licenses.
Uncontroversially, dual licensing is not open source when neither of the licenses are open source.
More controversially, a "non-commercial" license is not open source. This is clearly the position of the OSI, though that isn't necessarily dispositive. But note that this is not the same thing as a license with terms that happen to incidentally make some commercial use impractical (like the AGPL), which may be what the parent meant by "non-commercial", in which case we just have people talking past each other.
If I publish the source of a core application under AGPL and then use that application in my web service under EULA(Say general T&C) would I myself be in violation of AGPL since I didn't release the source for my web service (or) Would I be able to claim it as dual licensed?
Note: AGPL in the above example is specifically to deter commercialization of the application by competitors while allowing the consumers to read the source and use the application without paying to my web service if they wish so.
If you own the copyright to the application then you do not need a license to use it. The case where you would be violating a license would be if someone else owns the copyright to parts of the application, for example because you accepted code from external contributers under the AGPL, or reused other AGPL code.
So, It's best to use permissible license for the open-source version of the application in case of dual-license if we want to take back the contributions to our non open-source version.
I see this is what dual-licensed projects seem to do, I use open-source version of Aseprite[1] under MIT but I paid for the license on their website under EULA.
If anyone has seen a dual-licensed project where the open-source version is under AGPL or similar restrictive license then please mention.
> So, It's best to use permissible license for the open-source version of the application in case of dual-license if we want to take back the contributions to our non open-source version.
That's one option; the other is to require that contributors assign you copyright of their contributions (perhaps with compensation) so you can release it in the same manner as your own code.
Narrowly focused on the effectiveness of the dual license scheme itself, permissive licenses "don't work as well" because there is less incentive for anyone to pay you for the other license; typically all they'd be avoiding is the attribution requirements.
> That's one option; the other is to require that contributors assign you copyright of their contributions (perhaps with compensation)
I thought about it before I made my previous comment, Good to know this is a thing.
> permissive licenses "don't work as well" because there is less incentive for anyone to pay you for the other license; typically all they'd be avoiding is the attribution requirements.
As far consumers are concerned, I think it largely depends upon the project; If it's complex to setup and run then I guess people would use the hosted version. I use open-source Aseprite because it's available on AUR, But I did pay for the license on their website which I presume most wouldn't.
Perhaps the real concern with permissible license are the competitors, Who get to use your code to reduce their barrier for entry. Then again, Software code at current times aren't that big of a barrier to entry.
One thing which all these discussions prove to me is that open-source application funding is very complex, Depending upon it for livelihood with just good will of the consumers is very risky as consumers are on average poor and corporations are on average greedy.
As you say, it depends a lot on the project, but you're thinking too narrowly when it comes to types of projects. IME, dual license is most applicable to libraries that might wind up in native applications. With, say, "GPL or pay us for proprietary" a company trying to ship a native app is faced with the choice of not using the library, paying for the library, or releasing their product under the GPL to use the library while avoiding paying for it.
Interesting find, I took a cursory look at their GitHub[1] and they seem to accept PR from outside but I didn't find any explicit mention of copyright transfer; Perhaps because there's no separate version of sequence.js for commercial use(Just use case differentiation).
> there's no separate version of sequence.js for commercial use
A separate version is "open core", not "dual license" - that's a different business model.
Use case differentiation by means of providing the same thing under different licenses is what dual license (or multi license) means. One license (say, GPL) will be appropriate to some use cases (downstream open source projects) but not for other use cases (downstream proprietary software) and so the latter has to pay for a license other than the GPL.
> I didn't find any explicit mention of copyright transfer
It's possible they know the people who've submitted code outside of github and handled it out of band, or that github has some way I've missed of requiring submissions to assign copyright in a way that wouldn't be visible to us. It's also possible they're being legally reckless and might be subjecting their paying customers to potential (if perhaps unlikely) copyright claims from their submitters. There is nothing about it being the same code under both licenses that would imply they wouldn't need their submitters' blessing in some form to sell their code under the proprietary license, and the more implicit blessing the more likely it'll wind up in court at some point.
> the need for having a permissible license for the dual-license.
A more permissive license generally improves adoption. For the same level of adoption, a less permissive license drives more revenue in the dual-license model. Maybe a permissive license is still the way to go (certainly getting adoption is often difficult), but it is not the dual license situation motivating that. Contrast a "give away the software and sell support" business model, where (sufficient) adoption is everything and more restrictions on the license doesn't do anything for the business.
With a maximally permissive license, I hesitate to call it "dual licensing", as it stops being the license your paying customers are actually paying for but rather hosting, support, or warm fuzzies.
> a less permissive license drives more revenue in the dual-license model.
But we've so far encountered just one example for that, Even there we don't know the financial status to claim whether it's indeed more successful (revenue wise when compared to a permissible license).
On the other hand we have numerous successful products (by revenue) with permissible licenses incl. those sighted in the OP.
OSI muddies the waters by accepting AGPL as an open source license. As argued many times, it is really a EULA, not a proper license in the sense that GPL or BSD or MIT are software licenses.
> The GPL is a copyright license. It applies when copyright law would otherwise prevent distributing some program. If I were to violate the GPL, for example by sending someone a compiled version and refusing to provide the source, then there's a clear legal theory by which copyright law could be applied.
> That "one added requirement" in the AGPL turns it into a EULA, because it's an attempt to regulate for which purposes a user may run the program. If I were to run a modified AGPL'd SSH server on my own hardware, the question of whether I'm violating the AGPL depends on whether I'm allowing others to access it remotely. If the AGPL can be violated without copyright infringement, it's clearly in a different legal category than the GPL.
That explanation is, as far as I can tell, completely wrong. I think it's telling that it doesn't actually cite the sections of the AGPL's text that would point out the error.
Copyright law -- at least, in the US -- protects both the right to distribute something and the right to modify it (technically, to "prepare derivative works"; see 17 USC §106 for the exact wording). Both the GPL and the AGPL grant you the right to modify and/or redistribute a covered work, it's just that the conditions that they impose are different.
In particular, section 9 of the AGPL says quite clearly:
> You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work.
And all of the other clauses of the AGPL are carefully phrased as conditions under which you may modify or distribute the work, not conditions under which you may use it.
So if you simply receive a modified copy of an AGPL-licensed program and run it, then no matter who accesses it you aren't in violation of the AGPL, because you have no need to accept it. But if you are the one who does the modification, and the modification doesn't comply with the AGPL (e.g. because the modified software doesn't provide remote users with the source) then you are in violation, and it's because you did something that wasn't permitted by copyright law.
Nope. Sorry but you don’t get to hijack the term “open source”. There’s a reason we have gone to considerable lengths to define it https://opensource.org/osd
Openness is an important principle and it includes not discriminating against fields of endeavour. Think “open society” not “open jar”.
And if you disagree? Well, then I have some free software to sell you!
> Software developers who have any business sense will tell you that customers presume that open-source is synonymous with source-available.
As a software developer with business sense, I call BS on this made-up “fact”. All true scotsmen agree with me.
> Nope. Sorry but you don’t get to hijack the term “open source”
The problem with this viewpoint is that the OSI is not the final arbiter of the English language.
Yes, the OSI has an "official definition" of what constitutes "open source" software, but there is a large group of people in the industry that equate the term "open source" with the concept of the source being available, and nothing more. You can shout "wrong, wrong, wrong!" all you want, but I doubt you are going to change many of those people's minds.
The Free Software Foundation has a similar problem with the term "free software".
The people making the definitions are generally passionate about those definitions (for good reasons, mostly, in my estimation). However, I don't think an approach that starts with "Sorry but you don't get to hijack the term" is going to have a net positive effect. If anything, it will probably have a negative effect.
Um, no. If something can only be used for "non-commercial" uses, then it is not open source software.
The OSI is not the final arbiter of the English language, but this definition is long-settled by the vast majority of people who know about software. For example, many governments (including the US) have definitions of "open source software" written into their laws and regulations, and they all basically agree with the OSI definition.
For example, the US Government's "OMB M-16-21: Federal Source Code Policy" defines "Open Source Software (OSS) as:
"Software that can be accessed, used, modified, and shared by anyone. OSS is often distributed under licenses that comply with the definition of “Open Source” provided by the Open Source Initiative (https://opensource.org/osd) and/or that meet the definition of “Free Software” provided by the Free Software Foundation (https://www.gnu.org/philosophy/free-sw.html)."
https://obamawhitehouse.archives.gov/sites/default/files/omb...
> but this definition is long-settled by the vast majority of people who know about software
We obviously disagree on this point, although "the vast majority of people who know about software" is a fairly vague qualifier.
The fact that many software projects distribute under licenses that comply with the OSI's definition is not particularly relevant to my argument anyway. I'm not talking about people distributing the software, I'm talking about the large number of people I am aware of who think of "open source" strictly as software where the source is available.
The US government examples aren't particularly relevant either. A small number of people make those decisions, and there are legal ramifications for them in how they define things, so I'm not at all surprised that they define the term that way.
As I said elsewhere in the thread, I was not arguing that people who use "open source" as equivalent to "source-available" are right. Mainly I'm arguing that there is still a very large group that see it that way, and that the meaning of the term is far less settled among people who use it than some would like it to be.
I think government examples are relevant. Governments can haul you into court for fraud, for one thing. And they typically try to define things based on widespread understanding - they provide evidence that something is a common understanding.
It's important to have clear terms for important concepts. If you mean source-available (aka "open box"), use that phrase instead. If you mean open source software, call it open source software. Although I don't think it applies in your case, in my experience many of the people who misuse the term "open source software" (OSS) to identify something that is NOT OSS are expressly trying to deceive. Hopefully we can agree that fraud is not acceptable, and then move on to discuss whether or not this is (intentional) fraud.
The term "open system" was not well-defended years ago. It has a definition, but vendors wanted to redefine it into its opposite. Eventually "every vendor with an open mouth had an open system", making the term "open system" mostly useless. It is reasonable to defend clear definitions of important terms, because otherwise communication breaks down.
> I think government examples are relevant. Governments can haul you into court for fraud, for one thing. And they typically try to define things based on widespread understanding.
I never said that the OSI's definition of "open source" wasn't widely held. My argument is that it isn't the only widely-held definition. And I still don't find the government's use of the OSI definition to be particularly relevant - in terms of there being multiple widely-used definitions. It is just an example of one of them.
> in my experience many of the people who misuse the term "open source software" (OSS) to identify something that is NOT OSS are expressly trying to deceive
It has been my experience that most people who use the term "open source" to refer to source-available software are not trying to deceive anyone (although, I am aware of some examples where that has happened). They just haven't dealt with the legal details, and are mostly unaware that a different large group of people attach a lot more meaning to the term than they do.
So I sell code. Source code. But purchasers cannot distribute it as source (only binaries using the source.)
They can obviously modify it, or extend it for their own development.
So its clearly not Open Source (and I don't market it as such.)
I haven't found a generally recognizable term for commercial products shipped as source code (with or without pre-compiled binaries.)
I think that term would be useful, to distinguish something that is not Open Source and also not Binary.
Currently we describe it as "all source, no black boxes or dlls." which is a bit wordy.
I would say though that regardless of what some customers may _understand_ Open Source to be, this is not Open Source. As programmers it behoves us to use correct terminology not hide behind "what we think the customer thinks."
Two phrases I've heard are "source available" and "open box". Both say recipients can see the source code, though they don't guarantee that the recipient can make modifications. Those are the closest I can think of, and both seem accurate.
Now this feels like arguing semantics. Because multiple people are wrong, this makes them right? Sorry, no.
As I said, there’s a reason we have the OSD and it’s to avoid these silly conversations in which people try to argue that because a sufficient number of people think that turquoise is blue, that it is therefore blue.
This is a solved problem, it was solved 15 years ago. Nobody working in this industry has any excuse for being unaware of it. We should not be attempting to re-litigate it on every thread ever.
Too many people trying to pass their work off as open source when it’s not are not acting in good faith and are looking to trade off the goodwill of the phrase “open source” for personal profit. I’m going to complain about this, net positive effect be damned.
> Because multiple people are wrong, this makes them right?
I am sympathetic to your point of view, but in terms of spoken language, this is actually how it works (to my dismay, sometimes).
If enough people use the term wrong, then that becomes the new definition. c.f. "literally," which can now mean "figuratively." I roll my eyes, but there it is.
That's the descriptivist take, which is useful for studying informal communication, particularly in languages like english where there is no recognized authority that could prescribe how a language is used.
Many languages, and especially most subsets of languages in technical use are prescribed; however.
Enough people using literally when they mean figuratively will eventually make literally mean figuratively in casual conversation. But no amount of people saying squid when they mean octopus will make squid mean octopus within the marine biology community.
I think the interesting part comes when the technical community and the non- (or less-) technical community try to communicate, though.
A marine biologist might reasonably talk about an octopus' tentacles, and understand what other people mean when they talk about those tentacles, even though octopuses actually have "arms" in strict terminology.
Similar friction happens with the word "theory" in science or "proof" in mathematics.
But back to the topic: I think enough people use "open source" in a non-rigorous sense that it's worth leaving room for multiple definitions, versus trying to stamp the non-technical ones out. Marine biologists don't generally go around emphatically saying "they're arms, not tentacles!" (well, maybe some do, but mostly in a good-natured, aware-of-how-silly-it-is sense)
Yeah, but in this case the conversation is on a marine biology site between marine biologists and the distinction between arm and tentacle is fundamentally meaningful to the conversation.
I agree that the distinction is meaningful, but I suppose I disagree that it is safe to assume that everyone on HN has the same outlook towards the issue — we are not all developers, nor are we all involved in Open Source proper, nor do we all have the same background. In other words: we are not all marine biologists from the same school, I don't think.
I'd suggest that forums like this are good at being specific about terminology, and rigorous about its application.
In other words you, and others, may have used Open Source incorrectly in the past, and may learn from this thread so you don't I the future.
Perhaps your analogy would better apply to Open Source versus Free Software. That's more akin to octopus and squid. Open Source to commercial is more like talking about tentacles when describing a whale.
It's a good question, though I suppose it was mostly rhetorical (:
For me, I feel there is some fuzzy line to draw between "some use" and "over-use". For "literally," it seemed to get really bad maybe 10-15 years ago, where literally everyone was literally dying over literally the smallest things, and it has tapered off a bit since then (just my personal experience).
I feel like my eyes start to roll when it is paired with a lack of self-awareness. Using it as though it were for emphasis, but not actually being emphatic — just tacking it on pointlessly.
Now I'm getting flashbacks to the complaints about inserting "like" everywhere, which somehow has managed to, like, find its niche and persist irregardlessly.
Richard Dawkins I think made a very good point on Twitter once: If word usage is new and novel and increases expressiveness, we should keep it. If not, we should try and oppose it. Because we want richer ways of expressing ourselves.
This in response to people using "like" too much. As in "Jane was like ... And then I was like ...". "like" doesn't mean "I said" here. So he was supporting the new usage even though he hated it.
Merging "literally" and "figuratively" reduces our expressiveness. Without context ques and maybe not even then if something outlandish actually happens, you can't be sure what was meant. What's the benefit of ambiguity?
Similarly "open source" has a precise meaning especially if you are a programmer. Lots of disciplines have precise meanings for words that might mean something else to the lay person. We don't change maths and physics to suit the layman. Why should we change the meaning of open source? If you don't like the concept as defined, you can invent your own term! Some people have and we have things like "Copy Left".
You could argue that there is some natural evolution of language, but we are also the only species on earth that has literally (not figuratively) changed the planet. So why not mold our languages too? Why should these people who are sticklers for language give in?
> Now this feels like arguing semantics. Because multiple people are wrong, this makes them right? Sorry, no.
I did not say they were right. Effectively I said a lot of people use the term "open source" differently than you do, and that I didn't think the wording you chose to argue your case was going to be effective.
I understand the frustration.
> This is a solved problem, it was solved 15 years ago
I guess that depends on what problem you are referring to. In my experience, the use of the term "open source" to refer strictly to "source available" software is about as common as it ever has been.
> I’m going to complain about this, net positive effect be damned.
Well that's your choice, but in my opinion by doing so in the way you have in this thread, you are working against the goal of persuading people to use the term in the way you want it to be used.
Screw the pedantic flag waving. All I care about is being able to acquire the source code of what I'm using and compile it myself. Everything else is just noise. It sounds like you're just arguing just to argue. Some people want to make money from the hundreds (or thousands) of hours they put into their projects while also making that same project available for free to those who need it most.
Sorry, but it is the other way around. "Open Source" hijacked the common phrase "open source". You don't get to say people can't use standard English because you've decided a certain phrase holds special meaning.
Anyone familiar with english but unfamiliar with the Open Source concept would just think that open source is "source code available", not that there are all these other constraints applied to it as well.
You can accuse the OSI of many things, but not skipping on their homework. They deliberately chose a phrase that had no recorded previous use in neither trade press or academia, for a specific purpose.
That doesn't mean nobody ever put the two words together before, only that they did a reasonable job to make it probable that no one could point to it as an established term. The whole idea was to trademark and protect the term, which would have been useless process had they not done their homework.
That fell through because the phrase was too generic, but the whole process was very open and well argued, in my opinion. If you have objections to the term, why did you not put them forward in 1998? It sounds a bit late to argue that the term was hijacked 25 years after the fact.
>They deliberately chose a phrase that had no recorded previous use in neither trade press or academia, for a specific purpose.
Here's Caldera using the term "open source" for a specific purpose, to describe their DOS offerings as "source available" in 1996[1], which does not fit the definition of "Open Source". Two years later, according to OSI, Bruce Perens proposed "Open Source" as a replacement term for "Free Software"[2]. The Caldera example is just an easy to find public, widely read announcement which uses the term open source in a common-English sort of way. There are more, especially if you troll around old comp.* newsgroups.
> If you have objections to the term, why did you not put them forward in 1998?
I suppose because I was 12 and just learning C at the time. Though I do recall liking the "Free Software" term better, coupled with the phrase "Free as in freedom, not free as in beer".
Perens did not propose the term. It had seen some use in the same circles. The document you link to supports this. Perens, Raymond and O'Reilly was probably the largest influencers in spreading it however.
The use you have found by Caldera, which just had become a Linux company at the time, likely precedes this however. I think that falls under "putting the two words together", as it was not an established term at the time.
There is simply no denying that the people around the OSI and related organizations (there were many, but mostly with people in the same circles) popularized the term and give it a specific meaning. Trying to deduce a historical event by cherry picking newsgroup messages is hard. Better to ask anyone who was around Linux related circles at the time. Being 12 at the time is certainly no guarantee of anything, there are many 12-year-olds that know more than adults, especially at the time when there was such a social explosion from the Internet, and many people were just known by their nicknames.
The situation around open source was really interesting as a social commentary at the time. A lot has been written about the connotations around "free" being problematic in English, but there was so much cultural values around the FSF, and my personal feeling (of which I have no proof) was that it was even more important to find a term that the FSF didn't own, thereby taking control over the discourse around permissionless software development which was just getting started at the time.
Completely agree, no developer of an open-source software has explicitly stated that a) his software is open-source and b) that he adheres to OSI's definition.
Most developer just uploaded their project to GitHub and attached a license. If OSI defines some licenses as open-source or not is irrelevant. Legally only the license is binding.
Nothing. But their definition is the consensus definition, including being adopted by several governments. There is no alternate meaning with similar support, merely people who don't know what the term means.
Again, what gives OSI the authority to define that vocabulary over anybody else? If you want to use "open source as defined by the OSI" more power to you but I suspect most people will continue to use "open source" as "I can find the source code online".
The OSI were the people to come up with the term. Of course they get to decide what they mean.
The only argument against that would be that the term has gained popular usage outside of the open source community and become a generic term. I haven't heard or seen any argument that that should be the case.
> Nope. Sorry but you don’t get to hijack the term “open source”. There’s a reason we have gone to considerable lengths to define it https://opensource.org/osd
We have a legal mechanism for dealing with this situation. They could have trademarked the term "Open Source", but that wouldn't be very open then.
You don't see that you have a conflict of interest?
It is in those corporations (listed as Sponsors) interest to have access to vast array of Open Source projects to exploit them commercially without committing to any R&D costs and paying the authors.
I would argue that you have hijacked the "open source" term.
Nah. Corporations have mountains of money. They don’t need a little bit of free code. Sure, they’ll take it if it’s there, but it’s not necessarily that valuable to them, because they’re perfectly capable of building it themselves at low marginal cost.
What’s valuable to them is to drive the price of a particular product down to $0, if that will undermine a competitor in an area that the original company has no hope of winning, or if that product being free will cause people to buy more of their product. That is worth a huge amount of money and is something that they are otherwise unable to achieve.
"because they’re perfectly capable of building it themselves at low marginal cost"
Casual comment. Being capable doesn't mean it makes viable sense to build it on your own and how are you so sure about the "low marginal cost". It never is when you have to build something, anything.
Just to comment in the "little bit of free code" there are projects like python and numpy that would take ages to do properly and depending on the company would never ship (or function as reliably as it does right now)
Sometimes they're buying decades worth of debugging/testing
In my experience these "mountains of money" are not freely available to developers who need to get permission for spending it from their team-leader-with-a-budget. But YMMV I guess, lucky you!
That doesn't explain why they haven't written their own operating systems from scratch and why hardware vendors are so reluctant to publish their driver software source code.
Exactly! I'm considering a small project in the future, and I'd make it open source _mainly_ for a security point of view. The kind of software in particular would benefit the users massively if they can read the code, and even self-host for the most paranoid (with a fee and a very restrictive license?). Sure, it'd not be in the "open source" space and I would personally not market it as such, but while it's way better than not having access to the code I know if it ends up in HN comments like the one you mention will be plenty.
we should start the osai, open source available initiative, and publish a modern definition of open source (tm). and eventually we'll win, as alzheimers sets in for the old timer commie hippies freaking out about it lol
If it’s licensed for “non-commercial use”, it is no longer open source. But you are correct that the dual source licensing scheme can work, look at NGINX(BSD license) and NGINX Plus.
Or, dual license with a negotiated commercial license, and a "business unfriendly" license like GPL. I've worked at a company that uses a library* that is licensed this way, and they went with the commercial license so they didn't have to conform to the rules of the GPL.
It is open source. Just that big corporations can't profiteer from it.
It seems like there is a concerted effort by people working for these big corporations to discredit dual licensing. Software that is free to be exploited for profit lets these companies avoid hiring extra employees and paying taxes.
Promotion of (corporate version of) open source is designed to cut costs of R&D - so people use their own money and resources to create projects and then big corporation comes in and appropriates the successful ones without paying anything. Sometimes they contribute some code back, job done.
Then you have a situation where big corporation makes millions or even billions using the software and original developers are struggling to make ends meet.
This is wrong!
Every open source project should be dual licensed, so the authors can be properly compensated!
Look at the Sponsors list - it proves my point. That term has been hijacked by big corporations to ensure they have free access to projects created by community without remunerating the authors.
That’s a different angle though - you’re saying that open source has limitations if you’re an author wanting to commercially exploit it. That’s true. I don’t think that “corporations want stuff for free” really holds - they have waaaay more money than anybody and throw it around all the time. I think it’s more like, if it’s free for the taking, then why not? On the other hand, making stuff expensive is a great way to set up a barrier so that only corporations can use it.
Beyond security and interoperability I don’t see the point in projects that anyone can contribute to but only one person can profit from. Why would I contribute? I always felt this way about dual-license GPL code. It has a first-mover effect that sucks all the air out of the room for someone to create a project with more liberal licensing. How am I to set up a rival project if I don’t also want to be your business rival?
In my country volunteering at for profit organisation is illegal. Which this essentially becomes if you allow for profit corporations to use the open source software without remuneration.
That being said, if you contribute to an open source dual licensed project, you should be getting a share of the revenue coming from corporations paying for the license.
Your idea of free software is similar to that in the music industry, where corporations want to pay for the content in "exposure".
Another thing - that comes back to my first point - is that if we allow open source contributors to not be compensated, when their projects are being used commercially, we are creating inequality, where only privileged people who can afford to commit their time for free contribute to these projects, get recognition and then subsequently may be looking at getting better jobs than those who cannot afford to contribute, because they come from poor background and need to be in paid work in order to live.
In my country, when unpaid internships were legal, they were usually taken by white kids from privileged middle class families, who could pay for their food and accommodation. They were getting experience and better start in life than their poor peers.
Your idea of open source enforces inequality and is wrong!
The open source definition originates from Debian, driven by quite thoughtful industry practitioners.
Yes, permissive open source licenses tend to benefit large industry players.
However, you have it backwards.
We promoted these licenses to these industry players under the "Open Source" label so that we could use and contribute to free software at our day jobs, rather than being locked into a proprietary landscape.
A number of those big corporations on the sponsors list publish open source software and/or contribute to open source projects. I don't know how many, but there's several I recognized (Google, Microsoft, GitHub, Comcast, Indeed).
"Open source doesn't just mean access to the source code. The distribution terms of open-source software must comply with the following criteria:" (omitted here) [0]
Crucially, one cannot make their code "for non-commerical use only" and have it still be open source. It must be available for any entity to do with it what they wish. One can of course restrict that, but it would no longer be open source. Source available, perhaps, but not open source.
Therefore, ironically, it is you who should not mangle language, not me.
Taking two words that have a meaning when put together and changing that meaning is mangling language. opensource.org claiming open source means something different from what the phrase literally means is more harmful than helpful. I agree, we need to be able to talk about code that is actually free for all to use. "Open source" is not the way to do that.
The phrase doesn't literally mean anything. Does the phrase "open door" mean the door is freely available? Does the phrase "open book" mean the book is freely available?
It's great that the phrase "open source" has been so intuitively understood but to claim it has an obvious literal meaning is just nonsense.
I could care less about the terminology people use, but I feel like all your examples would point to the intuitive meaning that "open source" implies.
An open door implies you can see what's behind the door, as opposed to a closed door. An open book implies you can see what's inside a book, as opposed to a closed book. Likewise, open source implies that you can see inside the source code, as opposed to closed source.
So I think the claim that it has no obvious literal meaning is a bit hyperbolic, but I get where your thinking, since most developers automatically associate "open source" with "free code".
Sorry, I cannot agree with you. OSI came up with the term "open source," hence I will use it as it is conventionally used, ie via their definition. If you want to literally interpret that, feel free to do so but know that others, such as those commenting on your thread, will not agree with you.
GPL (and friends) are about preserving the user's rights, in exchange for the developer's. The user is free to do what they want; They can make their own personal changes and builds, but the developer can't unless they follow the license.
If we are going down that road, what does "freely available" mean? To me that would suggest Public Domain only. If you get access to the code under a license, even something as liberal as MIT license, it wasn't "freely available" you had to agree to the license.
More to the point with a no commercial clause, it isn't freely available there are restrictions on what you can do with it.
Well, it was just as political... it's just the politics favor large companies who were convinced to use and let their employees contribute to projects under a license more akin to the public domain.
This is Richard Stallman's position: "I've considered selling exceptions acceptable since the 1990s, and on occasion I've suggested it to companies. Sometimes this approach has made it possible for important programs to become free software."
Software that is free for “non-commercial” use doesn’t really get anywhere. It’s a naive proposition. It is not simple drawing the line between non-commercial and commercial activities. Things that are non-commercial can easily slip into commercial by some definition, and then you’d suddenly be in breach of contract, no one wants to take that risk. This is why people use permissive licences if they want their OSS to be used.
>Things that are non-commercial can easily slip into commercial by some definition, and then you’d suddenly be in breach of contract, no one wants to take that risk.
That's part of why it works. If you start making money, you have to pay to use the software you've already designed your product around.
“Making money” is not a workable definition. What if my product is free but my company makes money off support? What if it’s freemium but I have not added a paid tier yet? What if my product looses money? What if my software is free but I use it to promote my personal brand and pick up consulting work?
I’d say that all of those scenarios are commercial.
Maintaining feature parity in a dual licensing model is the challenge. Incentives are such that over time the paid for version invariably incorporates features that are lacking in the open source version, simply because there’s limited incentive to port them over.
Technically, that is not the same thing. That's monetization through SaaS, which is one of the strategies mentioned (Hosted, plug and play solution as a SaaS).
It's related, but the Open Core model described in the article mentions extra paid features surrounding an open core anyone can use. What I am describing is the same set of features priced differently for different use cases.
> The GNU Affero General Public License is a modified version of the ordinary GNU GPL version 3. It has one added requirement: if you run a modified program on a server and let other users communicate with it there, your server must also allow them to download the source code corresponding to the modified version running there.
> The purpose of the GNU Affero GPL is to prevent a problem that affects developers of free programs that are often used on servers.
This allows people to run your code as is but as soon as they edit the source code, they must make it available to their users. My understanding is if they only use it for their employees on their own corporate network, they only need to share the changes with their own employees? I think that is a fair compromise, no?
I've started a hobby/passion project a few months ago, and I'm constantly dreaming of quitting my day job to start working on it full-time (as opposed to doing it at midnight and getting sleep-deprived). Hard to give up a well-paying job when you have a family and financial goals ahead, but perhaps it's doable with donations?
>People work at Gumroad as little as they need to sustain the other parts of their lives they prefer to spend their time and energy on: a creative side-hustle, their family, or anything else.
For what it's worth, I went through a hiring process with this person and it was one of the worst/cruelest interview experiences of my life. I emailed him in response to a thread on Twitter where he indicated he was looking to hire diverse/nontraditional engineers mentioning I was self taught. He replied immediately with a take home project that ostensibly only required 3 hours but took me close to 24 hours. He responded saying it wasn't up to par and then ghosted.
I was way more green back then and looking over the project I sent him now, I understand what wasn't "up to par" about it, but I think it's fucked up to immediately send someone a take home without a quick phone screen unless you know them already, and also to ghost on someone who's put in a ton of work for you without giving any feedback or advice, especially when you claim to be interested in hiring nontraditional candidates.
Anyway, as a result of that experience I no longer do take homes as a rule, and I am continually rubbed the wrong way by how much love Sahil's blog posts on being such a progressive employer get in these parts.
Why do you feel the interaction was cruel? A brief "no" seems like all you'd get from most companies too.
My understanding is the policy is intended to avoid pointless debates and inadvertent legal liability (e.g. "when you told the candidate 'good luck with the new baby' at the end of the rejection convo, it created the impression they were not selected because they have kids.")
Why did he owe more feedback than "this isn't up to par?"
Based on past threads on HN I'm in the minority in preferring take-home projects and not feeling I'm owed compensation for the time it takes to complete them.
I like them because you have more of an opportunity to demonstrate your craft versus a standard leetcode whiteboard session where the 45 minute time constraint means you need to focus on pumping code out as quickly as possible. Also a good one can be an entertaining diversion in it's own right. Different strokes for different folks, I suppose.
Why do you feel like you're not entitled to compensation for your labor? Where is the line?
I've experienced take home projects that were expected to take "10 hours". If I spend 10 hours on a take home instead of my consultancy I'm out thousands of dollars.
I understand preferring take home projects, I prefer it over whiteboarding too, but I don't understand why you wouldn't be owed compensation. In my opinion the best evaluation is to work with the team on an actual story, task, ticket, etc. where you are paid the listed salary pro-rated for your hours.
> If I spend 10 hours on a take home instead of my consultancy I'm out thousands of dollars.
My reasoning for not demanding I should be compensated:
1. Presumably something about the opportunity on offer is more compelling than your second best option of working on your own consultancy earning $200+/hour, otherwise why are you applying for the role in the first place? I'd argue that if the opportunity is otherwise compelling in the long term, demanding breakeven for one day's work is being penny-wise and pound foolish. Taking it to an extreme, if there was a job that paid $10 million/year but the interview process was so involved I needed to burn an entire year's worth of vacation time to interview for it, whether I'd do it would come down to expected value of the decision (i.e. probability of passing the interview), not the absolute investment I was making.
2. I'd consider this form of cost-analysis rationale a weak one because it can be applied to basically any decision in life yet it gets applied selectively, so it's kind of a roundabout way of saying "I don't want to do that." Nobody (probably?) is applying this analysis to sleeping 6 hours a night versus 8, yet that would yield 10 more billable consulting hours (per week!) too.
Also the cost is prohibative. I'm not paying dozens or hundreds of applicants to spend 3 hours writing code when most of them are going to be utter shit.
If you want to deselect yourself by not doing it without pay, feel free.
I can see it both ways. I initially thought the employer was already nice enough to give the applicant a chance, instead of denying at the outset.
But then I remembered my own experiences of putting in a lot of work to apply for an opportunity, and then getting a curt denial saying I wasn’t what the employer was looking for, or not up to the task at the time.
I think it’s important to remember the feelings of getting rejected like that. Later on, when I was in a position of rejecting candidates, I volunteered the time to send longer responses with minor feedback despite the opportunity cost, just because I remembered what it was like to be an applicant.
I've also interacted with him via email and was put off by his response but after reading some of his blog posts I think this is how he gets stuff done with limited resources. The email was short and to the point, which feels "rude", but it gave me exactly what I needed in a few short words.
Steve Jobs is famous for his very short emails and I suspect they evoked similar responses from people.
I like to give more detail in my own correspondence, but it does take significant time.
> [...]took me close to 24 hours. He responded saying it wasn't up to par and then ghosted.
And this is why I'll never do a take-home project for an interview.
The time commitment is completely asymmetrical. The company can easily send the work to hundreds of people they have no interest it and it costs them nothing other than ~1 minute to send the email with some links.
At least in an in-person interview every minute I spend on it, the company has to spend the same amount of time from some employee.
Sorry, but you admitted you produced work that wasn't "up to par" and he gave you immediate feedback that he was no longer interested. Why does he owe an unqualified candidate more time if they can't produce the minimum standard of work? And he's "f'ed up" for doing what any employer who has an unqualified candidate in front of them?
Similar to how you decline take-home projects after getting burned by it, I decline to provide candidate feedback after getting burned by it.
Unless I have some personal backchannel to pass feedback through I typically send a form-based response. While I tried to make sure any messaging isn't worded cruelly, it's still a rejection at the end of the day and that doesn't feel good.
I've been rejected before by companies that gave feedback, and I remember some of them pretty fondly. There was one in particular who sent me resources and suggested books and projects I could work on while I was self-teaching. To be clear, I don't expect everyone to go that far out of their way, I just expect a modicum of humanity: do a proper phone tech screen so that we don't waste each other's time, and give me some specifics about how it wasn't up to par -- especially if I tell you I'm a self-taught candidate and it's clear I spent a lot of time on your process.
Anyway, something I've learned both about prospective employers and relationships in general is that if someone takes an adversarial approach to any relationship, especially when there's a power differential that's not in my favor, it's worth steering clear. In the case of prospective employers, it's pretty much always a sign that I'm going to be treated like pure utility and not much else.
Certainly all employers should provide an initial phone screen before requesting that a candidate do some kind of work including presenting or traveling. Or even doing take-home work if they still do that sort of thing, though I'm glad to see that becoming less common. I would consider it rude and unusual for a company to do otherwise.
I'm solely referring to offering to rejected candidates the opportunity to discuss specific critical feedback about what factors contributed to us turning them down instead of the standard boilerplate responses like "we went with someone with more relevant experience".
I'm not sure whether you consider declining to provide critical interview feedback to be taking an "adversarial approach" but in my experience it is extremely common.
In most cases a followup call really is rewarding for both parties, and if I have some social connection to the candidate I still offer it. And even when I don't I still sometimes do it despite reservations. But after having candidates become argumentative and having a coworker get burned by a litigious candidate I'm more wary of spending the time and incurring risk as a general practice.
If I was running my own company then I hope I would go back to offering a followup call because I think it engenders goodwill and the overall utility vastly exceeds the risk. But at a BigCo my risk/reward ratio is different. If HR and Legal get involved it doesn't matter how meritless the accusations are, everyone is about to have a Bad Time.
The US Government has several programs that can be used for seed funding. If you want to pursue the Red Hat / Anaconda model where you generate an open source project and retain revenue based on support, it can be one of a few a viable options.
You're looking at SBIR/STTR funding, phases up to $20M for final phases. Other funding vehicles also exist.
I agree, I rather wake up earlier to work on side projects/study than working late at night. This way it's the job that feels like an extra and not the other way around.
After 40 years of wanting to sleep in as long as I can, I flipped and wake up early and go to bed early. It’s amazing.
My free time is now when I can think and play with hobbies. Those can be code, music, sewing, fishing, etc etc.
After work, I’m usually zonked. “Too tired for having fun” (Devo cover playing in my head).
I now just focus on kids after school, dinner, zone out, and sleep by 10pm. I listen to history podcasts and don’t watch much TV, except college football and Star Wars series.
But I don’t pressure myself to “finish” hobbies anymore. Work is work, hobbies are for pleasure. If hobbies are generating anxiety, I pivot. That took me a while to come to terms with, given my ADHD.
I have no dreams of making a passion project my job. I enjoy my work and “finish” there, but like having a separate life.
My dad owned a business, and I don’t want to live that “never off” lifestyle. I’m a very boring family man and love that.
I loved staying up late and playing games, reading, coding, watching films, whatever.
When I had kids, I had to start waking up earlier. So I decided to go all in and switch to early-down/early-up, and it changed a lot of things in my life.
The biggest change was not working on or doing things I love while super tired and pushing through it anyway just because I love it.
You gotta think like a business owner / founder. Your product can be open source but how do you want to make money? I doubt that you can get enough donation, at least in a reasonable time, to make a living.
I would reduce working hours, work on your project and figure out how to monetize (e.g. self-hosted vs managed, consulting, ...). What can or cannot work depends a little on the industry you are in and also in what you want.
Before quitting think about having a Business plan and a correct Business model canvas, think about how to monetize your project.
Maybe the project can have an OSS target, and a $$ target on the enterprise solution.
How much do you think to do with support with your project? those kind of questiona are the starting point whenever you want to create a business from your OSS passion
There are jobs that offer 1 to 2 hours (I've heard of 4, but haven't actually seen them) Fridays to work on passion projects. Now, this all hinges on how busy your current project is at work... I work at a company that gives an hour a week to work on passion projects (or "team building exercises" if you prefer), but since our project went off the rails, that ain't happening =)
Though, I'm unsure as to the legal ramifications of such work, TBH.
Please read the latest copy of your employment agreement before doing this. In the US, it is not uncommon for employers to claim everything you do, on or off the clock. Some places restrict this to "related" work, others do not.[1]
Some employers will say they would never claim your work, but it's what's written down that matters. If they won't, ask them to sign an agreement. I've had broad swathes of my personal projects excluded from my employment agreement just by asking.
[1] I had an employer who claimed everything. Their view was they paid for your existence, so they got everything you did, regardless of whether it related to the firm's business. I was tempted to ask if they claimed people's children, but quit instead.
Film/record what you're doing and put it up on the web! YouTube, Tiktok, Instagram, etc. Build that audience. Put your passion on display and people will want to follow. The money will come.
I have a concept sitting in <that folder with all the ideas> that is pretty high on my list of "man, I want to make this happen" but would need a team to execute on.
The idea is to integrate the kickstarter model with github's issues (specifically, feature requests). You run an open-source project and people can submit feature requests that come with a fundraising campaign.
When someone wants the software to do something new (support a new platform, implement an interface, etc) they draft a campaign a la kickstarter, someone who can contribute to the project negotiates with the drafter pricing, targets, and stretch goals.
Past this point, it's the drafter's responsibility to do the marketing for the campaign and raise funds. Once the target $ amount is hit, it's on the person who picked up the contract to get the work done.
There are, of course, a ton of details to work out, and executing on this is going to be resource-intense on a number of vectors that aren't necessarily technical (legal, finance, hosting costs). Also, I suck at UI. The business itself would naturally be a non-profit.
addendum: I also have a day job that I have no intention of leaving, so factor that in to time-to-completion.
I don't! As mentioned in another comment, I had not heard of them before. I'll be trying them out.
On first blush, it looks fairly close to what's in my head - so perhaps this is not a thing to chase.
The one critical difference I can spot early on is that their system appears to be closed-source. Were I to do it, it would for sure be open. I want to see a method of supporting yourself with code far more than I want to make money myself. For example, in this moment, I like what they're doing and would love to contribute to the work myself to empower the goal of having more indie software devs in the world, but I would have to quit job (not happening), apply (might not get hired), and then work on whatever features are in the business' best interests (which won't necessarily be in the user's best interests).
All that said, they did it already and I didn't, so hats off to them. I hope bountysource gains more traction in the future.
Edit: another reason to have <bountysource-clone> be open source, is to recurse the value add. The site would develop in the same way any open source project does (if / when they get popular): by people implementing what they consider the most critical features.
Bounty source requires you to finish the work before you get paid, how are you supposed to assemble a development team around that? Prefunding is still unsolved.
Edit: Take an existing opensource crowdfunding platform and try to make it suitable for crowdfunding opensource projects, perhaps the first campaign could be for goteo itself?
The tech mogul who denies luck exists and contributes all of their success to their own ingenuity and prowess is a straw man. Perhaps with a few notable exceptions, that person simply does not exist.
Everyone knows luck exists, and almost everyone acknowledges it plays a key role in one's success.
Ok but how about we just plan a simple roadmap and have funding goals for each stage of the roadmap?
In that case the only challenge would be holding funds in escrow for unstarted milestones so that you must finish one milestone before getting funding for the next milestone.
Just a sidenote: One such detail is the timeframe... I am my own boss and I love to do contract work, but I cannot say "Yes, I will do this", commit to it and then after months the money is raised and I am drowning in projects.
Perhaps the money can be pledged and held in escrow either until someone accepts the work for scheduling or it gets withdrawn by the pledgee due to inaction.
I think my biggest concern with the idea as specified is that most projects probably need to be trying to fund multiple issues, but that could lead to overcommitting if multiple fund at around the same time. I suppose you could guard against that by capping estimated workload and preventing new issues from "succeeding" if they would put that over the top. It seems like it would be frustrating to have contributed to a goal and see it get enough money pledged, but then not get the thing I want because some other goal finished first. On the other hand, that might be helpful pressure to get people contributing?
This is when I admit that the concept isn't quite done baking.
My intuitive (read: hand-wavy) answer is that the negotiation between devs / feature requesters should take this into account - the pricing reflecting the amount of work * the scarcity of the dev's time.
There's also no reason that a single project == a single dev. If it's really an open source project, the feature requests could be posted as bounties and devs could bid on them.
Still don't have a solid idea as to how 'contribution timeouts' would work - with kickstarter, the timeline for funding + development + production are all managed by the same party, which simplifies things enough to (mostly) solve this issue. I'm sure that it would have to look different here.
All that said, I haven't yet taken a look at the site that someone else responded with, which sounds like it does comparable work. If so, I might just hitch train to them.
Not the GP, but non-profit doesn't mean it doesn't make money, and it doesn't even mean the people that started it can't become fabulously wealthy. It just means you don't horde money, and that profit isn't necessarily the goal. Look at all the non-profits paying their executive half a million a year in salary.
it's an ethos thing. I think a capitalist mindset (grow grow grow) is antithetical to good open source. once money is the primary motivation, good software that does good things that people actually want can't be the primary motivation.
Spending months just building and occasionally posting a Show HN or a producthunt launch is not nearly enough marketing. People need to know you understand them, and the problem, and you need to convince them you've got something that'll make the problem go away.
It's not until you're really shouting from the rooftops (and putting out spicy articles about Google analytics being illegal in Europe) that people start to notice you.
>Don't expect it to pay rent for the first 7 years, after 7 years, expect to pay 1-2 months of rent.
>Use your fame to push a similar product to pay for the other 10 months of rent
I have learned that the first years are slow to gain popularity, but once you have it, you know what works and what doesnt work. Pivot to things that people really care about on a different project, maintaining the original product for popularity/advertising. 99% of what I give away is free, then 1% at a cost.
>Don't expect it to pay rent for the first 7 years, after 7 years, expect to pay 1-2 months of rent.
This. Work on several projects simultaneously. Success often doesn't come once you deploy, it's a gradual buildup over the years. Ten extra users this month, 12 extra users next month. It's a snowball.
If you ship and sunset your project after 3 months because you didn't get 100,000 signups, you are stopping too early IMO. Instead, automate everything, try to run at zero cost and leave it alone for a year or even better 3 years and go work on something else or get a full time job.
I had a project make $100 for the first 2 years and $30000 in year number 3 without making any substantial changes.
> try to run at zero cost and leave it alone for a year or even better 3 years
I'd love to try, but by the end of year 2 I would have already lost 7200 € on social security contributions alone unless I evaded taxes. Running at zero cost gets really tricky in certain countries, I'm afraid.
In most countries you can register as independent instead of a company. It means higher taxes on profit but much lower registration and maintenance costs. This is a perfectly legal way of making a tiny bit of money while still paying taxes.
Some countries even let you make money without declaring it, as long as you’re within a threshold. You probably won’t get accepted at most payment providers with that setup though so YMMV, you can always manually process invoices / give your product for free while gating it behind “intent to pay”, etc.
Oh I didn't mean as a company. In Spain, as soon as you register as self-employed (the infamous autónomo) you must pay the social security contribution, ~300 €/month at the lowest bracket, and AFAIK there's no threshold to avoid it, not even zero.
(Well, technically there's case law for a threshold but you're taken to court anyway.)
Many people here used to bootstrap their online businesses by registering in the UK, but then Brexit happened. I'm considering "free with intent to charge", but right now that's a bet I can't afford.
Not much. You are probably better of investing a couple of days into writing tutorials and creating show cases.
A low barrier to entry is the single most important thing for any library.
Almost forgot, a clear statement of what the library does and what kind of problem it solves is also something that doesn't seem too common when creating a readme.
One method this article doesn't mention is a "sell the binaries" model, usually combined with some level of support (consumer software) or a support contract (more complex/enterprise things). This model personally appeals to me.
For example, I believe the Ardour DAW uses this model. But more importantly it's basically the business model of Redhat, which is presumably the most successful FOSS company there is.
Another option is to combine the "sell the binaries" model with a trademark model, where only the official binaries can bear the name of the project. Third parties can offer their own binaries but just have to change the name. Again this is also obviously part of Redhat's strategy (and for the off-label versions, see CentOS, etc.)
Another option is a variant on selling support contracts, but specifically about maintaining old versions of your software you maybe wouldn't ideally want to support anymore; it is possible to sell private maintained branches of older versions which are out of public support. However the viability of this depends on having some old versions, and depends on how often you break compatibility, which is after all what creates demand for the older branches.
The "premium version"/"open core" option mentioned in the article has some serious downsides. The most obvious is that you create a systemic incentive to handicap the FOSS project. You end up competing with your own project, so you have to ensure the FOSS project doesn't become as good as your premium version.
Imagine if feature X is implemented in the premium version only. Now an external contributor writes an independent implementation of feature X and raises a PR with the FOSS project. Is it going to get merged? Probably not. The conflict of interest compromises the operation of the FOSS project. Essentially, you create something that undermines the ability for the project to be as good as it can be. You create a situation where the organisation's stewardship of the FOSS project is detrimental to its potential.
(Pertinently, today nginx just announced they're going to ease off on at least some of this...) [1]
Fundamentally open core isn't a very satisfying answer to the question of "How do you make an income from FOSS?" because it is basically the answer "Make some software which isn't FOSS." It's not a true answer to the question.
I forgot to mention one more model which is kind of specific to games: open the engine/code, sell the assets (levels, etc.) which remain proprietary. This is an interesting compromise which seems to only be really available for games. Probably the most famous example of this approach is John Carmack's engines.
(Of course, some games also get to enjoy this approach "against their will", namely when people like the game so much that someone reimplements the engine from scratch (see ScummVM)).
Keeping assets proprietary doesn't really feel like a problem, since how do you open source art in the first place? Much art isn't really meaningfully modifiable after it's done, unlike source code. A .psd might have layers when a .png doesn't, but the difference isn't enormous. Art doesn't really have "bugs".
Aseprite uses the sell the binaries model. It's open source but you have to compile it yourself (and it has many dependencies). I've tried getting things to compile before and I consider it about as appealing as a visit to the dentist (only longer and more painful!) so I just forked over the cash.
As stated by another user it's not true open source, the source is solely available for personal use and for the submission of patches back to the author.
Such a model can backfire though as it would appear to be legal for a third-party contributor to create a set of scripts that would compile and prepare the application (load all the dependencies in a container and so forth) and release those scripts. Those scripts could even become accepted by a Linux distro's package manager, similar to how package managers package freeware prop software by using a script to legally grab the binary from the developer's site and installing it.
Interesting. A sort of "sell convenience" model. I'm a bit out of this loop, but isn't this how several SaaS/PaaS operators work? Provide open-source software but offer paid-for solutions such as hosting and/or support?
For definite; if it's software aimed at developers it doesn't matter very much, but otherwise you should definitely sell premade binaries for all platforms on your website. Then you can also include auto-updaters and the like.
Bonus points if you can sell a subscription model as well, either product features like cloud storage / sync (depending on the application of course) or consultancy (for e.g. libraries, frameworks).
I'm currently working with Nativescript, they have some people working on it whose business model is paid consultancy (we have one guy for 8 hours / week for example). It's used by big enterprises like banks, they will have plenty of money for professional developer support.
A non commercial, no distribution source available license can work. Users can build it/hack around locally, and make changes/pull requests. Maintainers are the only ones who can monetize it. Throw in a clause that if the community makes more than 50% of the code changes it will be converted to FOSS (prevent maintainer neglect).
"FOSS" (and "FLOSS", which the FSF prefers) is used as an encompassing term for the two main political camps of "free/libre software" and "open source software".
It's meant to express a neutral position about the underlying politics.
To be clear, there are a small number of licenses which the Open Source Initiative say are open source where the FSF says are not free software (eg, the NASA Open Source Agreement v1.3.)
That's regular proprietary software with source visibility and a weak bankruptcy clause. It's nice, but it's not "open source", and doesn't help the users if you go out of business before they write 50% of the code changes.
A few blender add-ons do this. The FLIP fluids one for example. They seem to keep the source a version behind too. Seems to work well too as they are producing solid updates for the tool.
I too have a 'hobby project' that I have worked on for several years. I must say that my motivations have varied quite a bit over that time. I mainly do it because it is a passion of mine and I love to write great code that does amazing things. But I would also love for the project to actually make some money. I don't really need the money, but money is a great indicator of how other people value your work. Money would also let me buy the extra help that the project needs.
It is a data management system called Didgets https://didgets.com/ and is currently in open beta. The ideas came from decades of experience working with other data management systems that I thought needed drastic improvement. I dug deep into file systems while writing network file system drivers and disk utilities (PartitionMagic and Drive Image). I spent years working with Postgres databases.
I love writing code that does big things faster and uses less resources than traditional systems. I wanted to be able to find a group of files among 100s of millions of files in seconds instead of using long directory traversal methods or the arduous task of creating separate indexes that could become out of sync with the file system. I wanted to query huge DB tables in record time without needing separate indexing structures that can slow down transactions.
So I will stay up until 2am tweaking an algorithm or parallelizing some code so that it runs through a large data set in 2 seconds instead of 20. This keeps me going, but I also wouldn't mind at all if a bunch of other people also found this valuable and decided to pay me something for my hard work.
The code is cross-platform (C++ code with almost zero dependencies) including the windowing framework (Qt) that the browser application uses. I have built Linux versions in the past to test it and I would also like to build a MacOS version, but bandwidth makes it hard to support multiple versions for every build.
If it starts to get some traction, I can work on that.
They wrote another article about how they went about building a $1M ARR open-source SaaS [1]. This details some of their approach to building the product in public as a form of marketing. The building in public approach works, if you already have a platform to stand on in my opinion. As someone who also has an open-source SaaS they're trying to market, I sometimes think if I should have also taken this approach, despite not having any reach at all.
The building in public didn‘t work either. The solo-founder (developer) wasn‘t getting any traction with what he did. The the co-founder (marketer) joined and only then they started to get customer and a lot of traction.
It‘s not the build in public approach, it is someone doing marketing.
To be fair, I think it's both. If the "sausage making" is grotesque, even an exceptional marketer would struggle :)
A coder who understands what public signals are valuable can give a marketer something to work with. That might include "code quality" but it's probably more than that. Visible activity, responsive processes, valuable features, etc. Just guessing, though.
I really like that this is one of the first Open Source Funding articles that I read that strongly acknowledges that devs create open source for many varied reasons. I have grown tired, as an OSS dev myself, to be bagged into a single category in most other articles and someone speaking for me saying things I might or might not want at all.
Heck, what I want as an OSS dev myself, as well as my personal situation/context, has changed dramatically over the years and I expect will change again in the future, so thank you Plausible for not throwing me into a single-bag and for not speaking for me.
Example: 4 years ago you'd tell me to write OSS part-time for 20k/year and I'd love it, today I'd strongly reject it, in 5 years I expect to do it part time for free again (or maybe not).
I swear this sort of thing strikes me as 10X the trouble as just getting a job. Even if you write something that others want (highly unlikely, let's be honest), trying to monetize it adds so much hassle to the whole thing, it isn't worth it. Easier to get a remote gig and just fund the project that way.
Funnily enough I wrote my own version of this exact topic, based on the fact that I am too trying to make money from open source work [1]
From experience, I find it that it's always better to start with a paid offering and an open core solution.
For example: you rather host it, configure it and upkeep it yourself? it's free
Everyone else: pay me a little money which will go towards the upkeep of the project.
I do find that there's another viable option: Bigger companies writing open source software.
In fact there should be MORE companies like that.
They should be motivated in writing open source software.
Why? They have more money and are very unlikely to just "fold" - as opposed to a developer vs the world.
I dream of a world where all companies have salaried open source teams of maintainers , building technology in the open that they themselves use and find useful but that they will maintain throughout the years.
> Bigger companies writing open source software... They should be motivated in writing open source software. Why? They have more money
That's not really a compelling reason for companies to write open source software. Developer branding, recruiting, engagement, "free work" from the community are probably more of the "why"
My thinking is that as a user, if a company puts money behind an open source project, I can at least trust them to keep it running to a certain level of quality for a little more than when a random single person writes a library and publishes it on npm - catches a blip of traction and suddenly I depend on that library for the foreseeable future.
> From experience, I find it that it's always better to start with a paid offering and an open core solution.
+1, today this is the best compromise, but unfortunately only really works well for SaaS, and less well for pure software, because of DRM. On the most extreme end, we don't use any DRM and the app is OSS, but then charging users becomes an honor system because how easy it would be to circumvent. On the other extreme, you have a closed source "paid portion" with DRM phoning home before you can access the full feature set. But if you can't build your own client, you can't eg audit for security.
It's complex, but in short: it's difficult to combine an open source core with monetization without losing many of the benefits of open source.
Triton DataCenter[1] is open source[2], and has commercial revenue in excess of $1M ARR. We were fortunate to acquire this product from Joyent earlier this year[3], and are now well on our way to the next revenue target.
Triton was built on the backs of giants -- so a slightly different scenario than most.. But it is clear that customers will pay for open source products, and you can more than pay your rent one day!
What I didn't see discussed is VCs focussing on open source (quick search returns e.g https://oss.capital/). Does anybody experience with or thoughts on this?
I read a lot of comments on the intrinsic difficulty of earning money with foss, so advising against it or to treat it as a secondary side project. It's pragmatic, sure, but sometimes foss is a central to the value proposition, like in situations that require high amounts of trust or adaptability. A couple of hours a week is not always sufficient to retain momentum. So imho there is really a need for true foss business models.
If you run an open source hardware project like we do with our DIY air quality monitors [1] you can also monetize it via selling hardware kits or work with affiliate links to e.g. Amazon or AliExpress.
However selling hardware has some additional challenges e.g. warranty, lost shippings, component shortages etc that you need to factor in.
> In general, it is useful for many projects to be aligned with something people or businesses believe in so much or find value in that they are willing to pay for.
The end of the day it comes down to audience regardless of your code being open source. I chose an alternative analytics based on the founders' business acumen, morals and ethics before I even considered open source. Similarily, Discord Nitro over Matrix and Circle/Mighty Network over Discourse.
The author shared good examples but for majority of projects, it doesn't make sense to open source it as a path to financial security. I'd argue it actually hurts many niches. I assume Plausible has a healthy dose of startup clients who are techie that see open source first as the holy grail for trust, transparency, and security. That's a solid audience! Otherwise, think again.
May be I'm naive but would love learn why if the end goal is to monetize your software why does it have to be opensourced. From my naive perspective it feels like when you mix the accessing the source and business, conceptually it becomes very complex. From an end users perspective, all these different types of licenses makes the actual user experience of buying the software complex.
I'd suggest reading up on the origins of "open source" and "free software".
> The philosophy of the movement is that the use of computers should not lead to people being prevented from cooperating with each other. In practice, this means rejecting proprietary software, which imposes such restrictions, and promoting free software, with the ultimate goal of liberating everyone in cyberspace – that is, every computer user.
This is a significant backbone of computer culture. Many of the old-school hackers (and hopefully the new-school ones) have philosophical and political principles, such as the human right to have access to general-purpose computing, encryption, privacy, and the right to read and change the source code, to know and have personal control over what you're running on your computer.
There are also business motivations for companies to participate in the open-source community, such as marketing and benefitting from the free labor of volunteers.
That’s interesting threat. I strongly believe in sustainable monetization in open source software. There’s a project called Tea (tea.xyz), a package manager as the evolution of Homebrew.
I honestly believe that understanding the entire dependency graph of open source project will help redistribute money to all packages democratically.
I like open source / free software that has the financial imperatives in plain view: that enables me to make informed decisions.
The best case when heavy lifting is taking place with a murky payroll is that there’s an Enterprise version you’ll eventually need. The worst case is, uh worse.
If you are just building random passion projects, then yes. If you actually spend the time to find a real problem people have and build a solution for that, I'm not sure if I'd call that luck.
The root cause problem here is having to pay rent in the first place.
It's appalling to think of just how much of our hard work and economic output is being skimmed off by landlords who just lazily sit around doing nothing productive while receiving all the rent money that so many of us have to pay as tribute, just to avoid being homeless.
All this hard work I do so my landlord can pay off his mortgage. Makes me wonder, what's the point?
The root cause problem here is having to pay rent in the first place.
The root cause is life and economic reality. Working for free is antithetical to survival and simply cannot be sustained over the long run.
Makes me wonder, what's the point?
I think the universe is instructing you to to become a landlord. Once this has been achieved, then you can spend all your time developing free software.
That mortgage is paying off the people that built the house. What remains after that is to pay for the landlord's food and medicals. Take the landlord and the house away and where do you live now?
I think the most charitable way to respond is to empathize with the person who has spent >=$X monthly for the last N years and did not had contribute that amount to a mortgage instead as an available option. It's easy to respond to your opponent by assuming that all the unbound variables are on your side. What if they aren't?
Don't get me wrong - I can empathise with how hard it can be to get your own house or flat these days.
But I do not think OP's comment was fair to the landlords. It is not their fault that building materials are getting ridiculously expensive, that more and more people need to live in/near the cities to get a decent job and other factors that make owning your property less and less accessible.
- it's against OP's values and principles
- OP doesn't believe it's risk-free or easy (I don't believe they said that)
- OP doesn't act solely based on financial incentives
The point is that you can live at a place you can't afford to buy. If not rent, then a mortgage is waiting for you, but at the same time your responsibilities increase quite a bit.
So what do you suggest? Free housing by the government? I'd love that too, but can I get a penthouse pretty please?
Other countries - notably Finland and Austria, among others - have no problem providing reasonable state housing at reasonable cost.
Finland houses its homeless as a matter of course because it turns out to be hugely cheaper than the alternatives, economically and politically.
Some of those countries also score well on affordable private home ownership.
America doesn't - because the idea of a government that buffers its citizens from private sector exploitation is against the guiding creed of economic narcissism.
Comparing developed nations to America is kinda unfair, but ok :) My point was that just because somebody is a landlord it's not the root of all evil. (I'm not one).
Governments can and do create programs to support families (too bad for singles in my country) but at the end getting all this for free is probably a utopia.
Affordable home ownership exists everywhere, but nobody wants to move to most of those places, people need more than a roof above their heads, but that comes at a cost.
“Property must be destroyed before imagination can be developed any further.” (Berger)
“No matter how much it proclaims its pseudotolerance, the capitalist system in all its forms (family, school, factories, army, codes, discourse…) continues to subjugate all desires, sexuality, and affects to the dictatorship of its totalitarian organization, founded on exploitation, property, male power, profit, productivity… Tirelessly it continues its dirty work of castrating, suppressing, torturing, and dividing up our bodies in order to inscribe its laws on our flesh, in order to rivet to our subconscious its mechanisms for reproducing this system of enslavement. With its throttling, its stasis, its lesions, its neuroses, the capitalist state imposes its norms, establishes its models, imprints its features, assigns its roles, propagates its programs… Using every available access route into our organisms, it insinuates into the depths of our insides its roots of death. It usurps our organs, disrupts our vital functions, mutilates our pleasures, subjugates all lived experience to the control of its condemning judgments.” (Guattari)
The nerds who actually made technology possible did not care a bit about money. Now, capital did make mass technology possible. But it cannot have pure innovation, only financial and operations engineering.
Maybe then I should be paying rent to the construction workers who built the apartment I live in and the laborers who made the raw materials, as a thank you for all their hard work.
An open source project does not, and cannot, in itself, make money (EDIT: Except if your project is very well-known; then you can solicit donations.). Something which makes money must, at most, be an affiliated activity. If I sell guided hiking tours, can I claim that the mountain makes money?
Why can't it? I played a game (shapez) which is open source. If you like, you can clone the repo, build it locally, and play it for free. But if you, like me, would happily pay $10 to avoid working out another JS build process, you can buy a copy on Steam. The developer seems to be doing fairly well.
I agree and its like selling foss binaries. My question is what stops a cloner from stealing your work? We’ve seen it on App Store over and over the attack of the clones and that is without access to your source code…
Brand recognition, enforced by trademarks. You can't stop people from publishing your work under a different name, but they could have cloned it anyways. Or alternatively being in a niche nobody pays attention to.
The kinds of projects you can do solo are often trivial to clone because what makes you unique won't be raw manpower invested.
Well, nothing - in theory. You can, of course, license your code in such a way that you can at least send a cease and desist to a cloner, but that's really only useful in jurisdictions which would enforce it.
But for the example of shapez, there's a lot of added value that's not in the source code. The creator is active in the shapez discord, and there are also paid DLCs on Steam which aren't open source. So there are at least some ways to monetize and make your community loyal that are still compatible with open source.
In that case, the business is running a program build consultancy (with a monopoly, no less). Once you look at it this way, you can see the perverse incentives pop out.
The only real perverse incentive I can think of is that one might deliberately make the build process extra complicated to encourage people to part with their $10. The game in question is by a solo indie dev afaik, so that seems a bit unlikely in this case.
I think "program build consultancy" is an overly cynical way to look at this particular situation. I was more than happy to pay the $10 to support the guy and not have to muck with an Electron build. /shrug
Sure? I feel like it wouldn't be unusual semantically to see a sentence like "the Foobar mountain brings in eleventy zillion dollars in tourism per year".
Yes, but thinking this way does not help you in envisaging more activities which could bring in more money.
In this case, thinking of it as “mountain-related” income shadows the fact that your business is actually tourism, an insight which could lead you to invest in other, non-mountain-related but tourism-benefiting projects.
You could say that it’s the fundraising which makes the money, but I must admit that this is a weak argument at best. So I guess that you’re right, you can finance a FOSS project by donations. But this only works for both very useful and very public projects, like Wikipedia.
After the mountain is built, the mountain must be considered a sunk cost. The mountain now exists, and you must move forward from there, independently of who built it and why. And then your business is a simple tour guide business.
I agree, but you are now effectively operating a mountain-cleaning company. This is not, I would argue, making money off the mountain as one would normally interpret the phrase.
I think we both see the fundamental misalignment of incentives. The company's job is not to maintain the mountain or the trails, and once it begins flourishing, it'll always be tempting to cut those branches because they're silly to spend so much effort on.
It's a very helpful metaphor though, thanks for that. Free software is doing a ton, but there is a lot of space left unepxlored for economical reasons, surprisingly. I've seen projects refusing to document their code or clean up their APIs, leaving a high barrier to entry just to keep the consultancy running. Then there's the fact that infrastructure is never sexy, and then the whole xkcd #2347 problem where the entire world relies on one destitute retired person in their dacha to keep their lights on with a key library that everyone uses quietly.
Makes me think if there could ever be a model that implements micropayments for software library usage, a little like lambda calls or like pay-by-article models for newspapers. But the reason why that isn't feasible may be the same reason why hiking trails aren't toll roads.
I think it’s an important distinction. Many people want to work on free software, but also have bills. So they think “How can I make money from doing this?”, which leads them down to a very limited set of options¹:
But these are not the only means to make money! To return to my mountain analogy, you could easily imagine many ways to profit from the mere existence of a mountain. You could, as I wrote, give guided tours, but you could also build water slides, build an observatory at the highest peak, or mine the mountain for precious minerals. All these have some risk, of course, of damaging the mountain itself, but they are all money-making schemes which would not occur to anyone wanting to somehow profit off the mountain exactly as it is.
Therefore, calling it “making money from FOSS” is simplistic and limits your own thinking.
Edit: A more open source version of this is to GPL the source and offer a more commercial friendly licensed product for a fee. I don't know if this technically goes against GPL but I have seen people do this.
Edit: https://en.wikipedia.org/wiki/Multi-licensing