How to pay your rent with your open source project (2020)
plausible.io
plausible.io
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.
Openness is much more than “source available”. Open for use by others is an important part of that.
i.e. https://www.synopsys.com/blogs/software-security/unlicensed-...
https://en.wikipedia.org/wiki/GNU_Affero_General_Public_Lice...
> 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?
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.
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.
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".
Perhaps Glass Source would be a more accurate phrase for code you can see but not touch.
No that is how the English language works. Car gas and gas are two different things.
Source available is akin to putting a paper behind a piece of glass, how is that open? You can't touch it, can't modify it.
By that definition GPL and attribution required aren’t open source.
More to the point with a no commercial clause, it isn't freely available there are restrictions on what you can do with it.
See the provided link. I am used to the source open / source available phrasing, but, I did not know the history behind it.
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!
The OSD was created precisely to prevent this kind of underhanded twisting of words.
Want to use a non-open license, go for it! But find your own phrase to describe it. “Open source” is taken.
This is much earlier than sponsorship and goes to Stallman’s Freedom 0.
You’re looking for “source-available.”
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.
It seems you are solving a different problem.
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?
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!
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.
I’d say that all of those scenarios are commercial.
Is that Net or Gross?
Where does it work? It seems almost non-existent to me. Maybe we are looking at different areas of the market though.
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.
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.
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.
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.
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?
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.
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)
Sorry to have tortured your metaphor so much (:
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.
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.
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...
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.
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.
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."
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.
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.
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.
Sometimes they're buying decades worth of debugging/testing
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.
It doesn't really matter who defines it as what. What matters is what people mean when they say it.
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.
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.
In the end for open source to be open source it should be publicly accessible.
Anything else should be defined in the license as the maintainer/creator wishes.
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.
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.
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".
[1] https://web.archive.org/web/20180402143912/http://www.xent.c...
[2] https://web.archive.org/web/20021001164015/http://www.openso...
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.
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.
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.
> 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.
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.
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.
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.
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.
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.
Once again, LGPL being more permissible than AGPL shows IMO 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.
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.
Then again, We all know the fiasco with Elastic.
Which? I didn't see any using a dual license approach in the OP?
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.
Sadly, GitHub support for this doesn't really exist:
Example: https://github.com/dragonflydb/dragonfly/blob/main/LICENSE.m...
https://github.com/getify/You-Dont-Know-JS/blob/2nd-ed/LICEN...
Any tips would be greatly appreciated.
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.
Those hours can be used to work on your passion without damaging your life/work balance. Ofcourse if this works for you depends on a lot of factors.
>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.
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.
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.
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 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.
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.
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.
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.
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.
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.
You're being unfair to him
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.
You're looking at SBIR/STTR funding, phases up to $20M for final phases. Other funding vehicles also exist.
Check out https://www.sbir.gov/
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.
I mean, there might be a couple people who do that? I don't know of any. (And it's been tried.)
In general, companies don't donate - they need a concrete benefit they can show to the tax agency. Eg, they will pay to contract you to add features.
So you're left with individual contributions, who have less money than companies. And the overhead of dealing with payments.
Daniel Stenberg, of curl fame, confirms that it's hard to make money off of donations, starting at https://youtu.be/jVT37EmND8I?t=1688 .
We can look to curl as an example. https://opencollective.com/curl#category-BUDGET say they've had $200K in contributions, which after fees is $178,598.94 raised.
Over a period of 3 or so years.
After decades of development, and as one of the most widely distributed software packages in existence.
Find a customer willing to pay you to work on it.
Figure out the market size, and what they are willing to pay.
Figure out at what point you're willing to give up dream, in case your plan (and pivot(s)) don't work out.
But do not, not, NOT, depend on donations to meet your financial goals.
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.
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
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.
While this sounds tongue in cheek, it's probably true. I'd bet 9 time out of 10, this is what literally happens.
I know that for my highly successful business that I started, I thought I could do it better, and I was in the right place at the right time (luck)
Quite possibly a forbidden word in the worldview of US Media, VC and Tech.
Everyone knows luck exists, and almost everyone acknowledges it plays a key role in one's success.
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.
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?
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.
I’m curious why this is naturally so?
There’s no shame in profiting off your work.
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.
Edit: It already exists: LFX Crowdfunding.
To save the next guy typing: https://lfx.linuxfoundation.org/tools/crowdfunding/
Then sadly you must resign yourself to watch the folder grow...
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.
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.
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.
Worse, any posts on Facebook after spending Ad money are hidden by the algorithm.
I personally did a decent sized social media blitz for a few months, then only posted when relevant to a parent thread.
I suppose SEO on google helps too. Not that I try, I just naturally am the best at specific keywords.
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.
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.
(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.
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.
Calling it source-available is smarter to avoid the whole "what counts as open source" topic, but that's what he did call it.
"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.
See https://en.wikipedia.org/wiki/Free_and_open-source_software or Stallman's essays at https://www.gnu.org/philosophy/open-source-misses-the-point.... ("The terms “free software” and “open source” stand for almost the same range of programs.") and https://www.gnu.org/philosophy/floss-and-foss.en.html ("A researcher studying practices and methods used by developers in the free software community decided that these questions were independent of the developers' political views, so he used the term “FLOSS,” ... Others use the term “FOSS,”.
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.)
But that's not why people use the term FOSS.
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.
https://dev.aseprite.org/2016/09/01/new-source-code-license/ https://bugs.debian.org/864990 https://github.com/aseprite/aseprite/blob/main/EULA.txt https://opensource.org/osd
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.
(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".
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.
If it starts to get some traction, I can work on that.
I thought this was yet another plausible.io post about how much money they're making, but turns out it's the original one.
It‘s not the build in public approach, it is someone doing marketing.
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.
This approach might not work so well for libraries and tools mainly used by developers.
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).
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.
If things go well one day we can get there....
[1] https://dev.to/orliesaurus/how-do-you-monetize-open-source-4...
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.
Maybe I am wrong though...
+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 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!
[1]: https://www.tritondatacenter.com
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.
However selling hardware has some additional challenges e.g. warranty, lost shippings, component shortages etc that you need to factor in.
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.
- How we built a $1M ARR open source SaaS
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.
https://en.wikipedia.org/wiki/The_Free_Software_Definition#T...
https://en.wikipedia.org/wiki/Free_software_movement
https://en.wikipedia.org/wiki/Open-source-software_movement
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.
I honestly believe that understanding the entire dependency graph of open source project will help redistribute money to all packages democratically.
I’m curious to hear what other devs think
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.
Every ten year old realizes the easiest way to sustain the lemonade stand is not giving away the lemonade.
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?
If you think that it is so easy and risk-free, why not take your own mortgage and let other suckers pay it off for YOU?
- 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
> being skimmed off by landlords who just lazily sit around doing nothing productive
I would argue, that doing something that is not easy and taking risks is the opposite of lazily sitting around and doing nothing productive.
Even if it's not possible to eliminate that risk, there are various not particularly challenging ways to minimise it.
On a return-for-hours-worked-actively metric, being a landlord can be extremely easy.
And you can trade off money for more time by handing over more or less all of it to agencies and/or informal support.
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.
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.
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.
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.
And having to eat. It's equally appaling.
“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 fact that you own a computer capable of making your post is a testament to the evil effectiveness of capitalism.
Easily proven false.
I know a lot of nerds/geeks who make technology possible --- I'm one of them. And virtually all of them have a job of some sort working for money.
They are not saying "prohibit free access" here.
• https://www.gnu.org/philosophy/selling.html.en
• https://www.gnu.org/philosophy/selling-exceptions.html
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.
Your comparison is incorrect because you wrote a program whereas the guide didn't set up the trail or build infrastructure to hike on the mountains
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".
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.
Why not? What if you collect large donations?
Wikimedia makes a lot of money (for itself) even with all the open-source-non-affiliated activities removed.
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.
The kinds of projects you can do solo are often trivial to clone because what makes you unique won't be raw manpower invested.
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.
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