> I re-designed the UI of the app to look more professional and implemented a license key system. From that moment if you wanted to use EmailEngine (the new name for IMAP API), you needed a license key that was only available for paying subscribers. I also changed the license from LGPL to a commercial license. The source code is still published publicly on GitHub. It is no longer open-source by definition but source-available. This change of license was only possible due to requiring outside committers to sign a CLA from the start.
This is the key portion. The open source project was turned into a commercial source available library with a license key.
I am glad this has worked well for the developer who now has a decent income for all the hard work put into this library.
Probably fear that this is the kind of red flag that would show up in due diligence, and that having piracy as part of the foundation of the tech stack that you build your business on is not a worthwhile risk to take.
- you get support by paying, this is important for many businesses - $1k/year is cheap
- risk of getting sued if the word gets out you're using something against its license (and for network-facing code, I'd suspect it's easy enough to miss something)
For me the advantage of source-available is you can always shortcut the support if there's a business critical problem and you can't wait for the author to wake up, so I think it's a great model.
I'm curious how much time a solo dev spends on support for a project like this. I can imagine some companies asking for a tremendous amount of support, or even trying to somehow get free consultation on adjacent concerns that aren't totally related to the product. Maybe it's just a matter of setting clear boundaries and limiting time?
I do support once a day for about an hour. I do monitor notifications for support emails during the day to react faster for urgent issues but there rarely is anything urgent. I guess the self-hosting side keeps support demand lower - if you are already capable of installing and running that software you can probably figure most of your issues out yourself.
Most EmailEngine's customers are small-ish SaaS providers (different kinds of niche CRMs, etc), and in their position, it is not really an option to spend time / risk breaking copyright protections. Instead, they pay the subscription fee and get into building email integration features for their service.
TBH, I wouldn't dare to use such a model in the B2C market, though. Everyone would pirate it.
For niche applications, it's not that terrible. I've produced an SQL IDE for years with a license key that sold <=100 individual purchases per year. I've only spoken to one person I believed pirated it. I've now went the opposite direction and made it free.
It's a sad irony that CLAs essentially put the project owner in the exact same position as the unicorn that screwed them over, by screwing over those downstream who make contributions, if/when they monetize the project.
I came across some Scheme/Racket/? library recently that attempts to quantify contribution levels and distribute any received funds fairly based on that. Unfortunately, I can't find it at the moment, but it was a cool idea.
You mean I screwed over those 0.1% of commits in EmailEngine (because the other 0.1% is from the Github Actions bot writing the changelog)? Everything else is my own code.
For over 14 years, I've been actively developing Nodemailer, a hugely popular project. There has been no CLA in place, and the main outside commits I get are typo fixes during Hacktoberfest. This is why I'm still the owner of 98% of the committed code in Nodemailer. Usually, if I do not fix or build something, no one else will either.
> You mean I screwed over those 0.1% of commits in EmailEngine (because the other 0.1% is from the Github Actions bot writing the changelog)?
I mean... yeah? Correct me if I'm wrong but you profited off their labor without compensating them, right? Why should the number of people you did that to make it less wrong? Obviously a corpo making bajillions of dollars without paying you sucks, but by sheer number of people negatively affected, it's still the same lol, in this case you're just the one with the bag, instead of a corporation.
Well, I guess you're right in a way. While there are no meaningful outside commits in EmailEngine, there are _some_ commits, even if these have minimal impact, by people who do not get paid for it, while I do.
I'm not judging you for this, btw. I find it extremely difficult to meaningfully measure in a dollar amount someone's contribution to a FOSS project, once monetized. The whole thing is messy. Honestly in general I find it quite difficult to measure labor value at all, which is why I guess basically every corporation on earth just lets "the market" decide, but that feels too arbitrary to me, and "the market" doesn't seem real when it gets to arbitrarily pay someone differently based on whether their passport says "India" or "USA."
I've been experimenting with just throwing my hands up and doing flat profit share, but we haven't really had an opportunity to really try this at scale (for a bunch of boring reasons), but I'm curious how it'll look. I don't think we'll have the crazy huge ratios you do on your FOSS though so I can see why that wouldn't be feasible for someone in your position.
I would not say that in your case, but the problem is that if a project has a CLA there could be a lot of commits from other people and then it would be screwing them over.
The problem for the developer considering a CLA is that if you take any contributions at all, you now have a community of people who A) understand your source code and B) have had their contributions rolled into your proprietary product, possibly against their expectations and possibly leaving them rather upset.
With 0.1% of commits it's not a likely problem, but if developers are making significant contributions then there's a good chance they'll fork your product as of the last LGPL commit and keep developing it as a direct competitor. It's safer to just not take contributions at all.
I'm not picking on you, FOSS projects aren't really set up for anything like shared revenue yet, and almost nobody's thinking about it.
But in the future, monetized FOSS projects need to pay out to their contributors. By default, contributors own copyright to the code they share, and forcing them to surrender that for free won't be acceptable.
> I am glad this has worked well for the developer who now has a decent income for all the hard work put into this library.
Isn't this a rug-pull?
Open source project which others havecontributed to, and whose reputation was earned by nature of being open source.
Than, after you have users, switch to proprietary. Sounds bad to me, but maybe I didn't fully understand?
BTW, Apple used to have a thing with Darwin server where you could disable the license check legally, but only a hacker would do that. Companies still paid for the software. That sounds like a better solution, IMO - at least for those that are two small to pay but growing by the seat of their pants can still use and promote the software.
The main reason CLAs exist is to facilitate this kind of "rug pull", so I think the lesson is to either accept that it will happen or never sign a CLA.
Could you elaborate on this, not necessarily the code itself, but about signing and "an ec". I'm new to this and will be wanting to provide licences for software in the future.
Ecliptic curve signing. You can produce a message body like “valid_until=2025-02-25” then sign it and distribute it as an api key that’s body+sig. Client can verify signature using public key without a server call (sig validation).
EC beats other signatures because signature is muuuuuch shorter, so it can still look like an API key.
embed the public part in your application and you can verify that something signed with the 'dgst' command and the private key really has been signed with the private key (which you obviously shouldn't publish)
(Note if using plain commands there is more friendly than openssl, minify/signify are much harder to get wrong, but I'm not sure they're as easy to use programmatically in as many languages there are for libcrypto/sodium/etc; this is really just an example)
Can't a user generate a fake license? Is there another layer of integrity checking, or can users simply patch in a fake checkLicense (which is apparently referred back to in four other spots in the code).
Well, you sure can patch it if you want :^) I think there isn't really a reason to add more than a simple license check though, as enterprise users are generally scared of using pirated software.
Also keep in mind pirated software doesn't cost the author anything if the user wasn't going to buy it anyway. If a company is willing to risk all that effort and liability to crack and maintaining the patches across changes to avoid paying for your software, they were not likely to pay for it in the first place. Nothing lost.
This. Any licensing schema that protects locally running software can be circumvented by a reasonably crafty individual – but there is simply no overlap in the Venn diagram of Paying Customers /\ These Crafty Individuals.
Yeah, or more specifically a company might have the competence but will not waste their engineers time, because the reason they’re using the service in the first place is to not have to focus on their core business. Not random accessories.
A lot of time, circumventing a license check would be more work than - say - implementing sending email on their own. Depending on what the service is.
Developers think they’re selling fancy tech. Most often, what we’re selling/providing is convenience - something boring that just works.
It would probably be even easier to patch the license check function. That's presumably against the software license, so due to copyright you would no longer be legally entitled to run the software.
So all I have to do is generate my own private-public key pair, replace the hardcoded public key in the code you linked, then generate a license key with my private key. But yeah, I don't know what should be the payload of the signature.
Good for him! That's my experience with open-source software as well, if something is free, companies will almost never pay for it even if they get a ton of value out of it. On the other hand, if it's only a small amount e.g. 1,000 USD per year most companies let developers purchase that without much paperwork, so for these kind of tools such pricing is a sweetspot. If you go into enterprise sales territory things become way more complex and your sales cycles longer. For a solo founder that doesn't need to hyperscale this pricing scheme seems perfect.
Agree. Developers seriously underestimate the amount of paperwork and organizational gymnastics larger companies require to buy literally anything.
They won't be not buying your product because it's too expensive, but because it's just too much of a hassle. At that point, price is less of a factor than some people think.
Also if it's $1000/year (or even better per version) flat and really useful it's actually kinda easy to get green light.
If it's $5/user/month, with 3 plans, with add-ons and it's unclear how many people you have to on board (just devs? Maybe business too? Does security team need access?) it's much harder discussion as nobody knows final cost (apart from the fact that we're not gonna like it in the long run).
Next, I started to increase the pricing; 250€ became 495€, then 695€ and 795€, and finally 895€. To my surprise, it did not mean getting fewer customers. I guess any sub-$1k amount for businesses is peanuts, so the only thing these price increases changed was improving the revenue.
Open sourcers identify with users, but businesses getting a ROI are unlike consumers.
> In any case, it changed years later when a startup using Nodemailer was acquired for half a billion dollars. I was financially not in a good place back then, and when I saw the news, I started to wonder – what did I get out of this?
This is the root of most things like the BSL. You create an open source project or product, and companies with billions in quarterly revenue build the core of their business on your software, and meanwhile won't contribute to your ongoing viability (nevermind actual success) even in amounts that are entirely trivial for them. Toss the cloud providers into it now and it's even uglier.
I get that, but the author did not try something like the BSL, just went to a fairly typical proprietary license.
Even the right open source license, such as the AGPL, would probably have worked well, with the proprietary license as an option (in the same way he tried LGPL + MIT).
Well, one of OP's initial mistakes was that he thought LGPL was anywhere near "copyleft." It isn't.
For SaaS companies who just want to use the software on their backend and are not interested in redistributing it in any way, there's no realistic difference between LGPL and more permissive licenses like MIT and BSD.
I’ve been sitting on some code for about 15 years because it’s the key to disrupting a couple of entrenched players and would enable cloud vendors to offer the functionality “as a service”. No way I want Amazon/google/MS to run away with it.
Edit down voters might ask themselves what is much older than 15 years that some companies pay a lot of money for?
> I’ve been sitting on some code for about 15 years because it’s the key to disrupting a couple of entrenched players
I have a difficult time believing that any piece of code that can be "sat on for 15 years" would disrupt anything. 15 years, especially in tech, feels like a couple generations these days.
This is why copyleft is necessary, and also why large companies have spread a lot of anti-GPL propaganda.
In a larger sense, we desperately need a societal shift in perspective from naively viewing companies as benevolent by default, to viewing companies as they actually are by default: they'll literally kill people if it's profitable.
AGPL/proprietary dual licensed is a solution to this. Clients get two choices: give back as much as they take, or fuck you pay me. The former makes everyone happy, and the latter stops the developer making themselves homeless.
Author tried it and didn't work. He presumes small businesses don't care about the potential risks associated with LGPL, and those were the majority of his most promising market.
Any company big enough to have a legal department will tell their devs to say away from LGPL, GPLv3, etc. If a dev is using that as promo for their commercial offering, it will probably just be ignored.
My company is big enough to have a legal department. (I'm the tech counterpart/coordinator with legal for open-source topics, whether its us open-sourcing code we work on, contributing to existing open-source, or consuming open-source.) We license under Apachev2, and we readily use LGPL & GPL v2/v3 with a quick review, and have very specific and much more thorough review processes for AGPL.
I'm quite sure that I don't work for the only such company.
And those small businesses were right. All the Apache/MIT-licensed software baffles me when LGPL for libraries and AGPL for applications seem clearly superior for promoting collaboration.
Big businesses convinced software developers they have the world's best intentions at heart, or at least, they are harmless and never need to be opposed.
He made a small business and he's targeting small companies who are probably still running a cracked version of photoshop CS6.
Big companies have rules about which OSS licences they can use and enforce them on their developers.
Developers in general will just skip it and pick an alternative they can use without problems from legal and possibly without paying.
So even with the license in place, I don't think it would ever magically attract big clients.
I think the author needs something a bit more unique or way better sales to get larger businesses.
They are all likely on Amazon SES or SendGrid.
AGPL might, but GPL (and therefore, copyleft) doesn't prevent the upthread outcome.
* - GPL is the prototypical/original [as far as I know] widely-used example of a copyleft license and the startup using nodemailer could have done that just as well (and for free) if nodemailer was GPL-licensed.
That's the nature of some humans. A corporation is not required to kill for profit.
Doctors would kill for profit. Politicians would. The same for engineers, cookers. Any profession, activity or line of business really.
That's human nature. But not all humans. Not even majority, I'd say certainly.
The problem is that this small minority gets 99% of the news. Very rarely one hears when a CEO avoids a decision that could endanger someone. Or when a Doctor is honest and preserves the patient's health above all.
It doesn't mean these good things aren't happening all the time. Look at your life and remember: how many people could have done harm to you for a profit? How many do you remember actually doing it?
> A corporation is not required to kill for profit.
Perhaps no, but a corporation has no compunctions about killing for profit. Let's take the direct approach, and list some that will take money and a target list, and make those people dead for you:
But I think that's not exactly what we're talking about, we're talking more about how the corporate entity under this current system shields organizations of people from the deaths their decisions cause.
PG&E was found culpable for the pipeline rupture that killed 8 people and destroyed 38 homes in San Bruno in 2010, because they ignored inspection data.
"Prosecuting individual actors" and "treating corporations as hostile entities" are not mutually exclusive; indeed I'd say we should all strive to do both.
A major point of establishing a corporation is the liability shield it grants. Sometimes it doesn't work (google piercing the corporate veil) but, the whole idea is to grant indemnity to people within a corporation for the corporation's actions.
I agree, people within corporations need to be held responsible for their actions.
But a big part of why that isn't happening is that when people kill people from behind the shield of a corporation, we can't even get people to agree that anything should be done about it, because "they were just following incentives". And any attempt to change the incentives is met with "but how can they do business if they're expected to comply with these onerous regulations" or "but that's socialism!". Instead, we're just supposed to trust that if it made money for a corporation it must have been good, because the invisible hand of the market would never allow it to be otherwise.
Until we break the idea that corporations are good by default, it's going to be hard to persuade people that going after people within a corporation for their wrongdoing is a good idea.
Who cares? Talking about specific corporations/companies is just derailing the discussion. An effective, enforceable deterrent against countries from committing genocide should apply to all countries, and an effective, enforceable deterrent against companies murdering people should apply to all companies.
It seems like you're trying to make the argument that some companies don't need a rule against murder because they wouldn't commit murder, but that's absurd. It isn't unfair to have a rule against murder apply to a company that wouldn't commit murder. That's just how rules work, and if you have to pretend you don't understand that, I start to think you're just grasping at straws to try to justify being against a rule against murder for companies.
If you're generally against economic regulation for companies, you might correctly point out that companies committing murder is a pretty extreme example, and most regulations aren't against such extremes. But that's missing the point. The situation is that extreme; people within corporations are committing murders and the corporations are receiving, at best, slap on the wrist fines or civil settlements that only affect shareholders and rarely affect the decision-makers who committed murder. No matter how anti-regulation you are, surely we can agree that "we can't have a rule against murder" is too little regulation?
> A corporation is not required to kill for profit.
Some corporations aren't in a situation where killing people is profitable.
But every corporation will come across situations where harming people is profitable, and if they don't harm people in that situation, one of their competitors will.
People like Yvonne Chounard who manage to avoid unethical practices AND create a profitable company are the exception, not the rule, and he was aware of that, which is why he went to great lengths creating an atypical corporate management structure to try to preserve the ethics of Patagonia in his absence.
> Doctors would kill for profit. Politicians would. The same for engineers, cookers. Any profession, activity or line of business really.
> That's human nature. But not all humans. Not even majority, I'd say certainly.
You're fundamentally not understanding what I'm saying.
It's not the doctors I'm worried about. Doctors have to look their patients in the eye usually.
It's not the cooks I'm worried about, because they're generally poor, and don't have the means to avoid regulation.
It's not the engineers I'm worried about, because they generally don't get paid more if their work kills people (with the exception of those in the manufacturing of weapons). In fact, it's often engineers that are the whistleblowers saying "we told them what was wrong and they did it anyway" when the decision is made to do something dangerous.
And if you think the majority of politicians won't kill to keep power, please tell me what country you are in so I can move there. I can only think of a handful of elected politicians at the federal US level who aren't obvious de-facto murderers.
The people I'm worried about the most are the C-level execs, board members, and majority shareholders: the kind of people who can put a numerical value on what it will cost to not kill people, and then justify it to themselves and never have to look their victims or their victims' families in the eye.
Not billions, but I was in a similar position. What saved me was the GPL license on the open source code and hiring a lawyer that kept my ownership of any software I wrote (though at a reduced hourly for them) and patenting new ideas connected to the project. When it came time for the company to scale up, I couldn’t have been in a better position.
Interesting, I actually was making a competitor to Email Engine but also open source, similar to Nylas, because I didn't like the latter's opaque pricing and I didn't like the former's self-hosting, I wanted it to be in the cloud.
I even got a YC interview based on this idea for last summer's batch (rejected primarily for being a solo founder, they seem to like solo founders only if they had a previous exit), but ultimately I gave up on the project because I realized I didn't actually like the problem space, it seemed too boring for me after a while and I wanted to concentrate on building things I thought were interesting.
Consider the OP's headline. They didn't even describe what their project was. All they said, all they think they needed to say, was that it is Open Source.
And on HN, it's actually true. Open Source projects get lots of kudos here.
The problem is, others may see what is essentially a marketing strategy aimed at a niche audience and conclude that Open Source is an essential, in fact they most essential, part of the business. Hence the need to remind people that Open Source is not a business model.
I consider at some point running my own open source business.
It must be around an idea that will speak to me at the time if it ever happens, but the open source part is important to me for ethical reasons. I'm not interested in running a software business if it's not open source.
And so I'm interested in reading others about their business experiences around open source. What is their actual project is important since it has consequences on how the business will be run, but the exact project won't matter too much to me as a reader and it does not really matter to me if it doesn't appear in the title, I will click.
Now the headline is a bit disappointing since the article is really "How I didn't keep doing open source when I turned my project into a business".
There's two valid, and opposing forces at play here:
- Motivation is a precious resource. If you are more motivated to work in an Open Source software business, then this will prevent burnout.
- You have to ask if you're playing to play, or playing to win [0]. If you're playing a game with self-imposed rules that exist only in your head, you put yourself at a huge disadvantage.
That's an interesting perspective, thanks for sharing.
If I have to use this frame, the game I play is "Be happy" fundamentally. A way to do this is "Spend time doing things that makes me happy". I'm happy if I agree with what I do (not sufficient, but necessary). Let's assume one needs money to live (another game, this one imposed by society). A way to earn money is work. Work could be purely seen as a way to support one's free time. But work usually takes a lot of time so I'd better have one that makes me happy.
I currently work in an open source company so doing non open source would be a downgrade. Now, nothing would prevent me to softly transition, with part time for instance. I can try making "trying to start a business" not too risky.
So, play to play or play to win? I think I play to win, the question is which game I play?
Running a business will certainly not be the game I play. That would be a means, not an end. A means to spend happy time while also playing the game imposed by society.
Now, running my business will need to be more fulfilling than my current position, and the bar is very high. I don't get to work on exactly what I decided and schedule, while very flexible, is imposed, but everything else is great (including nice people to work with, interesting and useful stuff to do, open source, many days off, ...).
You nailed it with your remark about motivation and burn out. I can work on non open source code (for instance for internal stuff), but I'd not be happy with proprietary software targeting end users (against my values) and I'm more happy if my time is spent doing open source.
Something causing burn out is in fact a move one can't play.
Now, open source, if not the easiest path, has its business advantages too. More and more (public) places requires, or favor it. If you happen to target these places, you may be advantaged against your non open source competitors.
Paddle, Lemon Squeezy and Fastspring are popular choices for Merchants of Record. These are basically distributors that sell your software in their name and take on the liability of filing taxes correctly.
Stripe for people who don't care about taxes or are large enough to have an accountant do it for them.
Accountants can charge a fair bit to handle N transactions so it may be cheaper to pay a MoR 5% instead of 3% for Stripe and pay your accountant extra.
All the EU makers I know are using some sort of MoR. Stripe is still very popular in USA for makers who sell to USA, as sales taxes have tresholds; unless you sell a lot from an individual state, you don't have to worry about it.
VATMOSS in Europe (the regulation which drove all the small sellers I know to drop their ecommerce websites and move to Amazon - talk about regulation to protect the people and damage Big Business!) doesn't have tresholds and you need a massive up to date VAT list + storing proof of user residing somewhere.
LGPL does not bind the author(s) of the software in this way. And since there was a CLA the other authors authorized the main dev to change the license.
Thank you! This is the piece of information I was missing. I kept wondering as I read the article whether that was a LGPL license breach. Thanks for clarifying
As the owner of the intellectual property you're the one licensing to others. License is a kind of contract. You're not under any license yourself, it's yours.
If you accepted PRs without a contributor agreement transferring the ownership, you might be infringing on their IP (licensed to you and others).
But if they have the source code, they could just switch off the license key check, right?
It seems to me he could just keep the license GPL then, wouldn't change a thing. The (small) businesses don't care about the license, but walk the path of least resistance.
This was my initial business model and it did not really work. As soon as there was the license key requirement, previously free users opted to the paid subscription to get the license key and get the upgrades. In fact all the old and free releases are still available under AGPL license from Github.
I suspect the reason this model works is because it's easy to say "We need X to do our work. It costs Y euros." and the company pays for it without thinking. It's probably a much tougher sell to say "We need to pay for this even though we can get it for free." Even harder is "We use this product so we should make a donation." It was never a matter of them wanting to avoid paying.
I see this all the time in universities. Underfunded open source projects won't get a $100 donation from a university using thousands of copies, but a company like Matlab can get massive payments just because that's the only way to get it. You have to figure out how to make it easy to justify paying for your software.
Yeah, it's a bummer. I'm trying to run an open source product, too [1] and that's one of my major concerns with this model.
One trick I want to try is, make everything open source but still paywall some features behind a license check. Easy to circumvent (and legal, too), but maybe businesses wouldn't be bothered with it, and for personal use – well, why not allow it – maybe some of them would convince their employers to use it as well :-) (And of course, providing it as a service is a much more straightforward business model, at least in my case.)
>But if they have the source code, they could just switch off the license key check, right?
That's basically piracy. Unlike individuals who pirate stuff all the time, for businesses there's a much greater risk for lawsuit which is usually not worth it, even for many smaller businesses. For a 1-2 person business that's not making any money, maybe they can get away with it. But they probably don't make a great customer anyway.
>what is the point of offering a source-available license
Long ago, I worked for a company that sold mortgage software. This is back when SOAP is all the rage. The software is not open source, but it is source-available, or rather, a law firm has the source code. My employer's customers are mostly banks or home builders that offer mortgage services. My employer is a very small one. Customers like banks want to know if you will stick around, if they buy into your software, and if you can't stick around. They need the source code.
Documentation is far from perfect for anything remotely sophisticated.
One often runs into issues with a third-party library that comes down to not understanding what's going on under the hood. In cases like this, it's really helpful to be able to look at the source and see what the issue is, you can also (in some cases) track PRs that address issues you are encountering.
I've found this numerous times with paid third party deps.
> In any case, it changed years later when a startup using Nodemailer was acquired for half a billion dollars. I was financially not in a good place back then, and when I saw the news, I started to wonder – what did I get out of this?
This is really what you should expect when you work to improve the commons in the same world where there are entities that are hyper-optimized to make the most short-term profit out of anything they can exploit. Of course they're not going to give anything back. It could happen to any FOSS dev. It sucks, and it's definitely human to look at all the money they're making and feel like you deserve some of it. You do deserve it! Everyone deserves to make a living. But the world is still a better place with FOSS in it. It's a shame for this to happen to someone and for them to decide that improving the commons was a mistake and instead they should have been making projects that FOSS orgs can't use and individuals and small orgs are priced out of (but is still "peanuts" for big businesses.) If you make best-in-class software that's FOSS, everyone benefits, and you can feel proud that individuals have access to the same resources as big corps because of what you've done.
I'm also tentatively in favour of the idea of scaring away big corps with GPLv3 or AGPL licensed software.
This is just the thing - there needs to be a very clear reason for you to partake in FOSS, something that you want to gain from it that has a bigger value to you than the cost of allowing your time and effort to be used by others for free, and money can not be it.
Exactly, before you go to open source, take a hard look at
* why I am doing that
* plethora of burned-out maintainers and their posts
* how I am going to deal with the issues/PRs, toxic entitlement
* what's my exit strategy
The first thing before you go into open source (provided it's actually used open source) is to answer these questions honestly for yourself. Because it's massive time sink with no money and *there will never be money* (unless you go open core or your employer pays you, in that case that's just a job just like any other).
TBH, I get way better feedback from paying users than previously from free users. Free users like to tinker and think in terms of "what if," so they bring up all kinds of features the software should also have because it can or it would be cool. The paying users only need actual features that help their business case, and they do not care at all about these "what if" features.
I did not plan to make the project paid at first, I would have prefered the OS / Open Core model, but it did not work out. So what I meant about the feedback was that the feedback for a free product might not help much for a paid product and vice versa. Different target groups, different priorities. On the other hand, more users, no matter if free or paid, help to detect edge case bugs better as there is a higher chance of someone stumbling on it and reporting it. In this case the first larger wave of free users did help me, yes.
As you noticed, this would mean a completely different line of code
I believe the author is not a native speaker, and means to say that this would require different code for each platform. Sure, that must be true, but the GitLab and GitHub APIs are not that dissimilar.
I felt like this was a very strange response to a legitimate question and it makes me feel like there must be something more there.
Sure, that must be true, but the GitLab and GitHub APIs are not that dissimilar.
Which they address in the later part of their answer which you leave out:
Surely most parts of the project could be reused, but this development would still mean a huge investment, which we can't afford. Nevertheless all kinds of contribution are still welcome and we would try to provide our support as good as we can.
As you point out, I am assuming malicious intent and you have every right to assume the same of me! I should have put that other part in.
It just didn't jibe with me and still feels like it is an easy and obvious upgrade.
But, you are right, they did justify it, it seems like an overstatement to say it would be a huge investment. I should review the code myself to verify, but a statement like that the lazy programmer in me shy away from even doing that.
I'd guess "huge investment" in this case is relative. The maintainer is not spending a ton of time building features for the CLA tool since it's mostly "done" and so investing more time to build support for Gitlab would require many more hours of development than they're probably dedicating right now.
And i can imagine that maybe they didn't abstract communication with Github enough and would need to refactor the system to handle that as well.
Generally, i think it's not totally reasonable to expect them to do more free work to support use cases that the maintainer does not need. Since it's open source, we're all welcome to contribute back.
> I even went so far that when a founder of a major transactional email service sent me an email regarding Nodemailer and offered to make a donation to promote my efforts, I rejected it.
To all of you around here who do FOSS, please reconsider this kind of attitude. The ones offering can be employees, and they had to argue your case.
Just a couple weeks ago I asked a maintainer of one our Rust dependencies to give us a quote for fixing an issue. I had beforehand negotiated the deal with the CTO, it could have been anywhere up to $5k for roughly one day of work. No license involved, just money against some of their time to improve their open source code. To my dismay, they refused and did it "for free" while giving us a link for a donation.
Guess what? The donation never came. It doesn't make sense for the ones who think in ROI, even less for the CFO behind them. Now I'm too ashamed to even show up on the issue board so we're all at a loss.
One problem from the open source project side of things is that unless the project happens to be one where at least one regular contributor is a consultant who is already set up to do work-for-hire like that, it can be way too much hassle to deal with a single one-off $5K, let alone smaller amounts. There's a big chasm of "this isn't worth it administratively" before you get to "there is enough money coming in from this kind of thing that somebody could make it their job" (for instance for a developer who already has a full time job, doing work for money probably requires them to go through a lot of hassle clearing it with their employer). Some projects don't even have a setup where they could do anything useful with a donation.
This must be a non-EU thing. Sometimes I'm amazed how much western democracies and esp. the EU have achieved in protecting the employee from their employer. It all seems so natural that I tend to forget how much the social democrats and worker unions struggled to get to this point.
EU is very large. If I were to believe your posts, Germany has achieved good protection of employees from their employers. Simply not true in ... many non-Germany EU countries.
I'm not sure I understand how your point relates to getting paid for side work as somebody who doesn't do that regularly.
For example, here in France, there's no such thing as "freelance". As an individual, you can't just invoice somebody. You need to set up some form of "enterprise". Sure, there are some forms which are supposed to be easier to set up, but you still have to go out of your way and do it. You can't just declare the income on your tax return. And now that you've created a company, you need to file tax returns every year, even if you don't do anything. It's also not free, an actual accountant has to sign them off (this may not be the case for the smallest forms of companies). Sending your taxes to the fiscal administration is also not free (fun fact: VAT is levied on that fee).
IANAL but that's not entirely true. As long as it's exceptional, it's legal to earn money without having a company in France. It's the "revenu commerciaux non professionnels" box on your tax form.
As for being an "auto entrepreneur" (equivalent of a sole trader), you don't need an accountant at all and the paperwork is rather small. Definitely worth it as it means you have some recurring revenue already.
According to the taxman's website [0] you need to be a "liberal enterprise". Not sure what exactly that means, but I'd be surprised there's no form of bureaucracy involved. I think you need to have at least a "micro enterprise".
> As for being an "auto entrepreneur" (equivalent of a sole trader), you don't need an accountant at all and the paperwork is rather small. Definitely worth it as it means you have some recurring revenue already.
Good to know, especially since, IIRC, they've removed the special social security you had to have for that kind of company.
> According to the taxman's website [0] you need to be a "liberal enterprise". Not sure what exactly that means, but I'd be surprised there's no form of bureaucracy involved. I think you need to have at least a "micro enterprise".
We are not referring to the same thing, I think. You're looking at the tax for corporates when I'm looking at individuals [0]. The key seems to be that it's has to be exceptional and not regular. I'd still double-check on a case by case basis with the tax bureau before going ahead, but I've found them to be helpful in the past.
It does make sense for niches like these to exist, otherwise you'd end up having to setup a legal entity before being on the receiving end of a transaction as an individual.
For those of us that are used to working as contractors that isn't an issue, as we already have accountants and are used to making invoices every month. But I understand it can be daunting if you don't have all of that in place, yet.
An accountant isn’t necessary for something like this, plans like Zoho books free or harvest take care of the same things an accountant would take care of.
Parent said "accountant AND...". You need the accountant to provide advice so you don't do illegal things or run afoul of tax authorities, not to generate an invoice.
Aren't there subtleties, for example, when doing inter-state commerce (assuming the two parties are both US-based)? In the EU, VAT isn't charged the same way if you invoice an entity based in your country or one based outside of it.
Yes I understand that but if you can accept donations, you can surely hack together a quote and state that the payment will go through your donation platform. In most country I believe you don't have anything to do at all bellow a certain threshold.
It's just a matter of not offering to work for free to a corporation that really doesn't need your generosity.
And sometimes a side project doesn't want to be a side hustle; dealing with payments and tax implications is time not being spent on the core project. It's an individual choice as to whether the time cost of accepting payment is worth it.
From my point of view there are two misconceptions in your post.
1) you need to be set up to work-for-hire to write an invoice.
2) you need to get clearance from their employer for things outside work hours.
ad 1) No, you don't need to. At least in Germany anybody who's legally competent can write invoices. If the invoices are secondary income, you will be taxed heavily (and declare it you must), but that's it. It has been some time since I last lived and worked in the USA, but I mean to recall that it was basically the same. Of course, invoiced money is your money now and you need to donate it to the FOSS project, which then needs some kind of treasury. But you said as much already.
ad 2) No, you don't need to. Your employer is your employer, not your owner. Now I don't know about the USA today (see above) but in European countries what you do outside working hours is your private affair -- discounting a few, very specific fringe cases. If you play soccer, dabble in explosives, or code for money doesn't matter. And frankly, your typical employer in most cases does not care anyway.
1) That may be allowed in Germany. Definitely not in Poland and many other countries.
2) In my experience, not true. Most often an employee needs to get a pre-approval that often take too long. As a full time developer, there's difference between playing soccer and developing software.
In my country a lot of people in IT are contractors (not employees) and sometimes these contracts are wild (like not working on anything else during that time and stuff like that).
That kind of clause doesn’t fly in either the UK or US, since it is disguised employment. The definition of a contractor is someone who sets their own rate and hours, and works under their own direction.
Unless one is setup as a nonprofit, in the US, there is very little difference between recieving 5000 from a donation link and recieving 5000 as a payment on an invoice. It is all taxed the same.
Some projects might not be setup for either, but it sounded to me like the above poster was dealing with some one who was willing to accept it as a donation, and it would likely have been trivial to send an invoice for 5000.
Not all open source devs are from the USA and in a lot of place outside it say the EU it can be quite the hassle. If you do it wrong it can very well be more than 5k worth of effort to fix it. When the taxman comes out 2 years later with a fine saying you didn't do X or Y.
In those countries the taxman will come out anyway because it will say that it was not a donation and you are trying to avoid paying taxes. It would be better to speak with an accountant beforehand in either case
it not about avoiding paying them (you will anyway unless you're in very narrow class of orgs) its about being in the wrong legal structure and getting stuck in administrative hell because you don't fit in their tidy little classification boxes.
Tax isn't the only issue. The parent poster already mentioned another one: employment contracts generally have some provisions against competing with your employer that require you to get clearance for other jobs. Another is a payment is never without strings attached and those strings might not be something you want to deal with unless you can live off of the project.
Well, I don't know about practices globally, but again, in the US, it is rare for a programmer to have such an employment contract. And if you did, wven volunteering on an Open Source project that competes with your employer would likely be in violation, and it would not make any difference between a "donation" and an "invoice".
I remember the first time I sold code to a company for low 4 figure amount. The hassle of registering for a VAT-Id (in Germany) and writing an invoice wasn‘t the problem. I was afraid that there were any liabilities or other „rules“ I simply didn‘t know about like „what if something breaks and they sue me, because I didn‘t include a specific line of legalese in the contract?“.
This may be terrible advice, but as a freelancer, getting sued by a company will cost them a minimum of $20k in legal fees just to get started. Unless you really messed up in bad faith, I would assume that most people will attempt to resolve things amicably.
Crypto (as bad as it is) is a good way to take money. You can easily send and receive large amounts without worrying about laws and taxes. Might be unethical or illegal but just don’t get caught
You can also run into the opposite problem, where they license a commercial version of a dependency, and instead of paying ten grand or whatever, they pay a senior (way over six figures) to re-implement the same functionality, which wont be maintained anywhere as well, and it takes them over a year to reach parity. Totally never happened anywhere I worked.
It astounds me that companies would rather waste hundreds of thousands of dollars instead of just throwing a few thousand that will benefit them in the long haul.
I genuinely believe more companies should adopt a policy of just letting devs work half a day on fridays on whatever they want, whether it be technical debt, or even open source projects the company depends on. Maybe that would be more feasible, but even then lots of places would still not understand the value.
In my particular case it was one person vs a team of managers and directors who refused to "waste" thousands, but kept a senior engineer working on a foolish waste of time and resources, there were so many other things this engineer could have worked on instead.
In my case I think I could've made my case better but I was tired and lazy. It was me against one director where it could pay a few hundred bucks to have all the features it wanted or have me implement a single must have feature on top of the community edition.
It's difficult to judge because maybe the project had a hard budget so even if having me implement things resulted in a costlier and possibly worse result it made more sense due to not resulting in a new discretionary cost. But I think it was more due to cultural background where the person was used to not pay much for software. My experience working with CEO was the opposite, those kinds of costs were pre-approved.
Except for in-house software the company knows that they can maintain the software in the future. With external developers you might be SOL if they disappear. Dependencies are a real cost that you can't just ignore.
I believe it has more to do with accounting discrepancies. Unless the company already has a set process for donating/payments to Open Source Projects, it is a whole process to get that type of payment set up, approved, and paid. Corporates need to answer the what, why, who was/were the payments for. For bigger companies, a non-standard category of $5,000 would be more of an irritation to deal with.
I believe it has more to do with the feeling of "we are in charge of our code", so they don't let anyone pay for any changes/fixes in the code and there can't be any entitlement to more bugfixes should anything break. Donations don't have that moral obligation.
You tried to do it your way, and they did it their way. Nothing to be ashamed about. But maybe don't always expect things to be done your way, since you make yourself uncomfortable when it doesn't happen.
Sounds like pure moral hair-splitting. If they didn't want money, cool. But if they were expecting money but needed it to be via a donation for some moral reason, then I'd wager they read too much "itsfoss"
Once upon a time, I ran an open source project that accepted both donations and paid subscriptions, with similar benefits offered for both (larger quotas on the hosted service). A small amount of donations trickled in from time to time, usually from individuals. But most companies, both corporations and sole proprietors, chose the paid subscription. Even at a higher cost. After a while, I scrapped the donation option entirely. I own a business, not a charity, after all.
Lesson: Unless you're registered as a 501(c), or an organization with similar status in your jurisdiction, don't even think of accepting "donations" from anyone who retains an accountant. It just doesn't work that way, open source or not.
It's not just open source projects. I have a project that I am considering converting to open source but have not done that yet so it is still proprietary. It reached a point where it was ready for beta test so I created an open beta. It attracted a few customers and one wanted to buy a license. I thought a yearly license of $250 sounded fair and they agreed to pay it. But then I got to thinking about all the hassle to keep track of that and file taxes. It's just not worth it for just a few customers.
I told them to continue using it for free until it can attract at least 100 customers. Then it might be worth the hassle.
Some of us simply do not want the hassle of being paid for our efforts. We aren't working as contractors, and the meta-effort is far too high for any benefit.
This is one of the reasons I have never set up sponsorships on any of my GitHub accounts (my taxes are complicated enough).
I always wondered if an oss-bid-for-pr marketplace has a point. Even repo owners could be in the loop - either taking up the offer, leaving it for others and just resorting to accepting the PR or straight up refusing the change (equivalent of closing a PR).
In a way it feels against "the spirit", but maybe it's exactly the same way of thinking you're pointing out.
I've always felt like FOSS as a philosophy has been tangled up in trying to participate effectively in capitalism, when that was never really the point, nor really very possible unless you're lucky, nor really worth it. The origin of FOSS as I understand it from reading books like "Hackers" is from people that were mad that access was being restricted to systems and code from people that really wanted to use these systems and code, and hack them, and learn from them. I recall that one of the things Stallman likes to brag about from that time is not related to FOSS at all, but instead successfully decrypting a bunch of passwords, emailing the decrypted passwords to people, and recommending they instead set the password to an empty string instead. It was about keeping access to the system Free as in Beer.
I suppose some have argued that FOSS represents a Public Commons in the way that fields and wells and physical marketplaces used to, but none of those things survived capitalism, so I don't see why a technological commons should be expected to either.
For me I've been thinking lately that perhaps those interested in FOSS should instead consider how we can use FOSS to detach ourselves from needing to participate in global capitalism at all. Is there FOSS technology we can use to liberate people from things they need to spend money on right now? An example could be the Global Village Construction Set: https://www.opensourceecology.org/gvcs/ a set of open source designs for things like hydraulic motors or microcombines or steam engines that you can build on your own, usually not for cheap, but for far, far cheaper than you could buy from John Deere. Here's another cool project, some guy has just been building things like solar panels and basic circuit boards on his property from very base components for years: https://simplifier.neocities.org/
Some other FOSS liberation examples:
Combining a tool like Jellyfin with Sonarr, Radarr, and etc, can liberate people from their 5 different media subscriptions. Or at least they can still buy DVDs and put them on Jellyfin to have the convenience of streaming with the media library of their own choosing.
Deploying Matrix or another FOSS communication tool can let organizations have enterprise-level communication software without paying HUGE seat-based license fees to corporations like Slack.
In fact there's many ways to liberate yourself from paid SaaS in this list: https://github.com/awesome-selfhosted/awesome-selfhosted at my co-op we self-host and deploy all our services for this reason, it saves us a TON of money.
I don't have many other examples to mind because this is something I'm actively still researching. Friends in Venezuela though especially tell me how FOSS technology can liberate in ways I wouldn't expect here with my 64gb RAM machine with the latest processor, that I can easily replace components on on a whim. Such as how they can keep all their broken down machines pieced together from junkyards running pretty ok on various linux distros, and how they can sell creative work using free tools like gimp (no, really) or darktable. Like as not they'll just pirate software, though, but apparently FOSS often runs better on shitty hardware.
Anyway my long term plan is to find or build more and more things that let people just not spend money on things anymore. That could be by making it easier to not have to throw things away anymore, or building tools to replace proprietary ones, or, idk, other ways I haven't thought of.
I’m convinced that the MIT license and other public domain-like licenses are the worst licenses to actually use if you’re not a FOSS ideologue. So, most people. It works against your own interests in just a subtle enough way that also works against the interests of those who use your software.
At a bare minimum, you should probably at least use the GNU General Public License version 2.
Exactly. Everything I've released over the last several years is GPLv2 or higher. If you don't like that, don't worry, I won't tell you to fuck off or give you a lecture on free software. You just need to pay me. Business is business. :)
Yeah, I stopped using the MIT license moving forward some time ago. There’s no benefit whatsoever to the author, and there are perfectly permissible licenses that one can still use without allowing others to walk all over you.
Well, it depends on the nature of the product. Some trivial things which has 100 LOC in it is not worth GPLing, as everyone including yourself would benefit from a BSD/public domain license.
I generally agree, the only problem, especially for libraries, is that copyleft licenses tend to be incompatible. So e.g. you can't transfer code between GPL2-only and GPL3-only projects.
I locked prices for existing customers. So someone who signed up 2 years ago is still paying 250€ per year, while customers signing up today will pay 895€ per year.
I think a key takeaway from this story is that the author started getting subscriptions once he caused the software to stop working without a license.
> If you did not provide a valid license key 15 minutes after the application started, the app just stopped working.
IMO, all of the shenanigans with license changes (MIT/LGPL/etc) are nothing to most users. On HN we are sensitive to these nuances . But in the "real world" of corporate worker bees just trying to get stuff done I doubt it even registers.
More likely what happens is someone searches for a solution to a problem, installs it and sees if it works and then moves on with their day. Except they can't move on if the software stops working after 15 minutes. Clearly it is doing what they need, so now they need to unblock themselves.
We might assume they'll read the code, find the license check and remove it. And I bet some percentage do exactly that. But some percentage of users would rather swipe a credit card for $X instead.
I don't have a problem with commercial software, and I don't have a problem with open source software, but I do have a problem with developers releasing their code as open source, building a community while banging on the open source drum and then doing a rug-pull by taking the software commercial once they decided they have captured a big enough audience to extract money from it.
All I'm asking is, if you want to eventually make money on your project, at least be up front about it in the beginning so that your users can make an informed decision when they decide whether to bake it into their stack.
The rug-pull approach is always a much worse look in the end.
You mean making the software proprietary. The definition of open source itself is neutral on whether it's a commercial effort or not, or whether it's a community effort or not, or whether it's both community and a commercial effort.
There is a difference between a commercial effort and calling something commercial software, which often (usually?) refers to licensed per use (often per installed system) software. Open source must be freely redistributable, which means it can't have a per use license.
I think the main issue is the name. If a project is made more commercial or proprietary than it was before, please change the name (or additionally use a different name for the commercial/proprietary part, which seems to be common practice even when starting a project as partly open source). A clean break between different maintainers (particularly when a mostly single person effort) is a good reason to change the name too. Naming things is hard and it doesn't necessarily need to be all that different a name just something to reflect the change.
You can't take the entire software commercial, as everything previously released under the open-source license will stay under that license. In the case of EmailEngine, all versions ever released under the AGPL license are still in Github; you can fork and use these freely. It is only the path forward that gets closed when going commercial - users can start paying, can stay indefinitely on the already released free versions, or can take the initiative and fork the project.
Simple. Open source doesn’t mean “free code for life”. Most people try to turn their time into money. Besides, any one of us could fork the project, compile binaries with a novel license check and charge for them. Why not the person who actually added value?
A project is more than the source code though, otherwise the original maintainer could just as well fork the project when taking it commercial instead of continuing to use the original name.
I think we should still draw a distinction between what the article author did and what a company like Hashicorp did.
Hashicorp prominently displayed that they were committed to open source and that all of their projects would be open source forever.
They had a CLA, but there are 2 good reasons to do this besides removing the OSS license:
* You may want to be able to also offer the software under an alternate license, which some companies do due to the demands of a corporate client (e.g. one offered with a support agreement)
* You may want the ability to relicense under a different OSS license.
As long as the article author didn't make any promises about continued commitment to OSS, I don't see anything deceptive here (because without such a statement, a CLA usually means you want to relicense in the future)
Hashicorp on the other hand pulled a jerk move by misleading the community as it formed, and which also contributed a lot to both Terraform and the corpus of terraform providers, etc.
I think like you. But also, one does not necessarily know beforehand that they will want to make money.
Like a project could be born out of pure generosity, but after the happy initial phase the project might get too heavy on the maintenance requirements, causing the author to approach burnout, and possibly deciding that they want to make money to continue pulling the cart forward.
However, here's something I do think: if you create something as Open Source, it should be out of a mentality of goodwill and for the greater good, regardless of how it ends up being used. OSS licenses do mean this with their terms. If you later get tired or burned out, you should just retire and allow the community to keep taking care of it. Just like it happened with the Jq tool [1].
If there is a community that is interested in taking care of it, can they not fork it? It seems better for the primary maintainer to continue working on it if people are willing to pay for it, than to stop working on it entirely.
Yes, but only a small subset of OSS projects reach the tipping point of having a large enough developer community with people willing to taking care of it. They are the most popular ones, so we tend to hear their names, as opposed to the other majority of projects which have users, but no devs that could take the lead.
But of course, OSS ought to be, as I mentioned, a contribution to the greater good. If there are enough people interested in keeping something alive, they should be allowed to do so.
This is why pure communism is always a steaming pile as well. Who is going to fork it and feed and care for it? Sometimes projects succeed in the same way that road work eventually coalesces when a community needs a road, but many projects don't fit this mold and do much better with the drug dealer style of free for your first hit, then we charge you. Otherwise who is going to produce the stuff out of the wish to see a community do well without any benefit?
As many other respondents mentioned, the old version is still there.
But, as TFA states:
> I guess any sub-$1k amount for businesses is peanuts, so the only thing these price increases changed was improving the revenue.
Businesses spend money to solve problems. $1k is a lot of money for a consumer product, but for a business product, $1k when something is business critical and handles high volume is significantly cheaper than hiring a person or contractor to solve the problem.
Furthermore, the benefit goes both ways, as Reinman now supports the product full-time. The business customers are now working with a product that has full-time support, instead of hobbyist support.
This is toxic though. People shouldn’t have to be able to predict the future should they? And if the opportunity to escape being a wage slave presents itself by simply changing an approach, should a person not take it just because potentially years prior they didn’t intend to?
The implication here is that once an open source project is widespread enough, the maintainers are morally forced to provide development and support for free. This obviously doesn't make any sense.
In real world, when maintainers change the license, if a software is widespread enough, a fork is created, and at least part of the community moves to it.
Your comment has me thinking about Markdown and the shenanigans with its future.
John Gruber created Markdown but hasn’t done a lot for it in recent times, why should he?
Others tried to fork markdown, which is also fine. But they forked it and named it Standard Markdown without good communication with Gruber about the project naming. It then got ugly.
It's just CommonMark, Gruber was ticked off enough that he declined to allow them to use the term Markdown at all. Alone among the variations, or nearly so, he's fine (as your link indicates) with Git-Flavored Markdown.
The thing is, they didn't fork it, they decided to "standardize" it. John Gruber had already published a Markdown standard: https://daringfireball.net/projects/markdown/, and a reference implementation. He's fine with variations on his standard existing, even somewhat encouraging, but took it as a personal insult that others set out on their own initiative to "standardize" something which already had both a standard and an implementation of it. I don't blame him at all.
The outcome isn't so bad, really. We have a whole family of variations on Markdown, which is sometimes annoying for inter-op reasons but it's a lightweight plain-text standard, making a few tweaks to parse it with a different engine isn't going to ruin your day. CommonMark ended up being an acceptable standard for a minimum-but-extended dialect which the diverse implementations can (mostly) implement, which was the goal, and better yet, people don't get to be dicks about "that isn't Markdown" by reference to the CommonMark standard. Gruber made sure of that, and bless him for it.
> All I'm asking is, if you want to eventually make money on your project, at least be up front about it in the beginning so that your users can make an informed decision when they decide whether to bake it into their stack.
That isn't how it works in practice, I think.
If you have already decided from the start to make money on your FOSS project, you're going to need a plan more evolved and refined than "push to GitHub and sort out the details later", otherwise you've already failed. Many people will even decide to just not do open source, for that reason.
If you're not planning on making money, that might change later when you realize that the only value you get from million-dollar corporations making heaps of money off your work is some bug reports and requests to do more in your off time. Alternatively, you might decide you enjoy the work and want to make a living off it. Neither of these are bad, per se. Also, nobody signs a contract stating they're going to work for free forever, so you're going to have to live with that.
The reality is that most of the people who derive great value from open source and free software just want it for free; the labor and economics can and must be sorted out by someone else, preferably at absolute zero cost to them. For many purposes, it's no different of a relationship than the one between a random underpaid restaurant server and random demanding customer.
When you say "users can [then] make an informed decision [on your monetized project]", I assume the informed decision you're referring to is "I'll never pay money," because that's what it is about 99% of the time.
In order to be able to take a project close-source the lead would have to employ methods that are a giveaway; use a revokable license, use a dual license, require contributors to cede copyright, ask contributors to agree to a license change etc. The signs are usually there.
I'm in agreement with you. Like one or the other, not the switch over.
I rather the approach be that if it is an open source project, that they ask for donations. It is possible to succeed in that way, though it requires learning how to pull it off, where they also get corporate sponsors and donations.
The version released under open source is forever open source. How is it different than maintainer stopped working on the project abruptly. You think that as equally bad?
The following is controversial and ill-thought-out, so feel free to flame (I gotta learn somehow!)
Nobody does things for free. We do things because we gain either money or status or pleasure. If you want someone to work for you, and you don't want to pay them money, you have to give them either status or pleasure.
One example of getting people to do things for pleasure is ad-supported social media sites. They are giving people pleasure (modulo engagement psychology) and getting their attention on ads for free.
But let's focus on getting people to do things for status. PhDs are a classic example: if you get a PhD and stay in Academia, your salary is tiny relative to industry. But there is a promise of status ("you're on the frontier of knowledge!"; "people call you 'doctor'!"). The few principal investigators that get the giant grants are successful only because they rely on an army of underpaid experts.
Which means there is an incentive--even if unconscious--to convince people that status is worth the lower salaries. The fights for being first-author, or publishing in a top-tier journal, or even insisting on being called "Doctor" are all competitions for status, because that's what you're getting paid instead of money.
Open Source is the same way. Arguments about purity ("is that really an OSS license") and self-sacrifice ("I won't accept money from corporations") are all evidence that people are earning status instead of money.
By itself, this is not a bad thing (in either OSS or Academia). People should be free to choose how to sell their time. The problem is that those who benefit from the work-for-status arrangement (large corporations, large universities, and their leaders) are incented to use dark patterns to preserve that arrangement.
We're sensitive to social media sites using dark patterns to manipulate people into trading work (or money) for pleasure. We should be equally sensitive to how open-source culture can (even unintentionally) drive people to be underpaid.
Yes, everything someone does is motivated.
That's actually what gets people to do anything, physiologically as well.
That's why someone who is not motivated won't do anything, disciplined or not. Lately people have been discipline at the forefront but motivation comes first and needs to be sustained. Just an aparté.
> PhDs are a classic example: if you get a PhD and stay in Academia, your salary is tiny relative to industry. But there is a promise of status ... Which means there is an incentive ... to convince people that status is worth the lower salaries.
This is likely a country-dependent thing...
I'm in academia and I have never encountered anyone who was clearly doing it for status. Worse: there is a strong concept of egalitarianism in my experience. So not only do I not know of folks who "do" academia for the status, but you don't really have that much compared to others anyway.
Again: this is likely country-dependent (as well as field-dependent and, perhaps, institute-dependent). And I'm likely at least a bit blind to some of what's happening since I personally don't attach much value to academic status. So your mileage may vary.
Life is too short to give stuff away for free. Monetize wherever possible. Almost everyone who gives away useful software for free burns out and stops doing it.
The title is misleading. The author changed their open source project into a commercial product with source available. It's not a business built around an open source project as the title implies, it's a license switch.
What stood out to me was this line for the company (based on the author’s tool?) that sold for ~500M USD.
“I searched my mailbox for emails related to that company and found a single complaint about a feature. No pull requests, no donations, no nothing.”
I find it quite pathetic that a company whose entire life depended on the work of the author but the only thing they ever contributed was a complaint. Surely something that meant this much to them was worth either compensation or contribution of more productive kinds.
This is the key portion. The open source project was turned into a commercial source available library with a license key.
I am glad this has worked well for the developer who now has a decent income for all the hard work put into this library.
reply