5 ms·
By any chance are you familiar with Little Free Library (https://littlefreelibrary.org/ https://littlefreelibrary.org/), those public boxes for people to take o
by evanelias 3y ago
By any chance are you familiar with Little Free Library (https://littlefreelibrary.org/ https://littlefreelibrary.org/), those public boxes for people to take or leave books? How would you feel if someone took ALL the books, repeatedly, and then sold them? Would you just shrug and say "well that's totally fine, why is it free in the first place?"
This behavior is antisocial, and completely destroys the offering/concept for everyone.
I have a bootstrapped software company with an open-core product. Meanwhile, a VC-backed startup that has raised over $100m of funding decided to use one of my core open source libraries (which they haven't contributed to in any way) for a critical component of their commercial product, which also overlaps with my product's functionality in some ways.
In response, I eventually made the difficult decision to archive that library's repo and moved its functionality into my main product in a way that prevented external use. So then this startup created a hostile fork of my library, and started to implement functionality that is only present in my own commercial product.
After that, I had to waste several months of unpaid time just to make their fork of my own library no longer easily compatible with recent versions of my own product. Some time later, finally the startup decided to abandon use of my library altogether and wrote their own similar library (which was undoubtedly much easier for them, being able to see all the edge cases my library already handled).
My lesson from all this: I will never create another new large open source product ever again. Too many sociopaths out there for the system to work at all. If I ever decide to make something source-available, I will consider BSL.
And before someone says "why not AGPL?", it is because many companies don't touch AGPL software with a ten-foot pole. My sense is that adopting AGPL for a brand new product typically causes the product to be dead on arrival. That said, I would honestly love to be wrong here.
If there are a lot of AGPL open core / commercial FOSS companies that have been successful, please share examples, I say this genuinely and without snark.
- hashtag-til 3y agoThanks for the post. I’m sorry you went through this with bad actors in open-source. I agree fully with your *GPL point of view and have seen that in practice many time. It is in the written guidance for open-source in the company I work for, along the lines “for GPL-like licenses, that’s a ‘no’ by default, unless you follow this very complicated process to get approvals from many people”.
- deadbunny 3y agoGiven the lengths you say you went to to actively stop and sabotage licenced (by you) usage I have to question why you even picked an open source license in the first place?
- evanelias 3y agoWhen I started developing my main product, I didn't know if it would be successful, especially since it involved a paradigm shift in how most people thought of the workflow involved (database schema changes / migrations). So I made it open source to encourage adoption and experimentation. Meanwhile I put some of the core logic (database schema introspection and diff'ing) in a separate library and repo, since it could be re-used for other applications in case my original product didn't get traction. Fast forward many years, and the product has been fairly successful. The open source edition of the product has been used by many hundreds of companies and has been downloaded 1.2 million times. And in terms of the paradigm shift, the push/pull schema change semantics that I invented have been copied by several much larger projects, such as Prisma. The separate library was used by a few companies too (e.g. by Canonical for one notable case), but mostly for internal use-cases, not things that directly competed with my product. I think most folks had enough moral fiber or common sense to understand that using the library in a competitive way would result in the library being killed off. What other choice did I have? I wasn't going to let my business be killed by a hostile fork of my own library.
- ants_everywhere 3y ago> How would you feel if someone took ALL the books, repeatedly, and then sold them? Books are rivalrous and excludable goods. If you take all the books, then others can't enjoy them. Open source software is non-rivalrous and (mostly) non-excludable. This is the thing that makes free software possible. And it's also the thing that makes it unlike the book example. > decided to use one of my core open source libraries (which they haven't contributed to in any way) for a critical component of their commercial product, which also overlaps with my product's functionality in some ways. This is really terrible, and I'm sorry to hear that it happened to you. But as far as I'm aware this has always been the whole point of "permissive" licenses. Licenses like MIT and (Berkeley) BSD subsidize the private sector with work done by the universities. The core idea, at least compared to GPL licenses, is to allow businesses to profit off of donated work. So while I sympathize with you, it seems like you deliberately chose a license that allowed and encouraged exactly the behavior you saw. > And before someone says "why not AGPL?", it is because many companies don't touch AGPL software with a ten-foot pole. This is presumably because businesses don't want to use software that creates in them obligations to give back. But you do want them to give back, or at least you don't want them to take too much. So I feel like there's a fundamental tension here. You're trying to make your project appealing to businesses by telling them they can take it for free and give nothing back. But you're also saying that behavior is "antisocial" and "completely destroys the offering/concept for everyone."
- evanelias 3y ago> If you take all the books, then others can't enjoy them. Sure, and if your company takes a bootstrapped commercial open source product that it didn't develop or contribute to, and then pays several employees a salary to do things which actively reduce that product's ability to develop a sustainable revenue stream, then you definitely risk permanently destroying that open source product. On a macro level, if many companies do this, the entire ecosystem of open source begins to falter. Hence all the moves to BSL, SSPL, Commons Clause, etc. I was making an analogy to that. If some people keep taking all the books and selling them, the system falls apart, and people stop putting free books in the box. > it seems like you deliberately chose a license that allowed and encouraged exactly the behavior you saw. "Allowed", yes. But nothing in the license I chose (Apache License v2) actively "encourages" the behavior of using a project in a way that actively destroys the project. (Nor does it discourage it either.) > You're trying to make your project appealing to businesses by telling them they can take it for free and give nothing back. But you're also saying that behavior is "antisocial" and "completely destroys the offering/concept for everyone." I have no problems with businesses using a project for free and giving nothing back, on its own. I do have a problem with businesses taking a project, and profiting off it while also directly competing with it and/or forking the project in a way that directly kneecaps the project's revenue stream. That is what I am calling antisocial and destructive.
- webmobdev 3y agoYes, you chose the wrong license without understanding its implications. > My sense is that adopting AGPL for a brand new product typically causes the product to be dead on arrival. It may hinder adoption (in the corporate world) but not contribution to the source. And if you want to promote the spirit of opensource and make money too, dual licensing with xGPL is the best way to go. MySQL is a successful example of this licensing and business model.
- evanelias 3y agoIt's pretty telling that you listed only a single example product, and one which was first released twenty-eight years ago, and also one which raised venture capital. Just because dual-licensing has been successful in a very limited number of exceptional situations, does not mean that it is a reproducible path towards building a sustainable software business. Also keep in mind: * MySQL hasn't been an independent business for over 15 years. AFAIK there is no public information on its revenue or profitability. * Much of Oracle's recent work on the product has been on MySQL Heatwave, which is only available as a managed service. * Most MySQL Community Edition commits come from Oracle. * Meanwhile the company behind MariaDB, arguably a more "open" fork of MySQL, is having financial problems and may well end up having its stock de-listed soon. * The non-open-source Business Source License was originally created by MariaDB for their MaxScale product. The license's existence is fully backed by Monty Widenius, original creator of MySQL. To be clear, I'm not saying any of the above to criticize Oracle or MariaDB. Rather, just pointing out that a general statement of "dual licensing with xGPL is the best way to go" is not really backed by the facts on the ground. I must ask, do you run a commercial open source business yourself?
- webmobdev 3y agoMySQL is a successful product that was sold to Sun / Oracle for a BILLION dollars. MariaDB and Percona Server are good examples of competing businesses produced from a commercially successful GPL opensource software (MySQL): - MariaDB: https://mariadb.com/products/community-server/ https://mariadb.com/products/community-server/ - Percona Server for MySQL: https://www.percona.com/software/mysql-database/percona-server https://www.percona.com/software/mysql-database/percona-serv... Other additional examples of successfully commercialised xGPL products with different business models: - Red Hat Linux: https://sfconservancy.org/blog/2023/jun/23/rhel-gpl-analysis/ https://sfconservancy.org/blog/2023/jun/23/rhel-gpl-analysis... - QT: https://www.qt.io/licensing/ https://www.qt.io/licensing/ - Ghostscript: https://www.ghostscript.com/licensing/index.html https://www.ghostscript.com/licensing/index.html - WordPress: https://wordpress.com/ https://wordpress.com/ (based on https://wordpress.org/ https://wordpress.org/ ) - Buskill (hardware): https://www.buskill.in/ https://www.buskill.in/ - Moodle: https://moodle.com/ https://moodle.com/ (based on https://moodle.org/ https://moodle.org/) - ProtonMail: https://proton.me/mail https://proton.me/mail (based on https://github.com/ProtonMail https://github.com/ProtonMail ) - Tutanota: https://tutanota.com/ https://tutanota.com/ (based on https://github.com/tutao/tutanota/ https://github.com/tutao/tutanota/ ) - Dada Mail: https://www.dadamailproject.com/ https://www.dadamailproject.com/ - Dietlibc: https://www.fefe.de/dietlibc/ https://www.fefe.de/dietlibc/ The commercial success of a product totally depends on the business model you come up with, whatever be its opensource (or not) license. Corporates have a vested interest in promoting the propaganda that only a non-xGPL opensource license can be commercialised successfully simply because they cannot freely steal the source code of a competing xGPL licensed software. The real value of an FSF license, like the AGPL, is that it is designed to protect the copyright holders, and its users, "right to repair". And thus, it cannot be closed source by anyone (apart from the original copyright holders) once released under the said license (even if future versions are closed source, the old version under xGPL remain opensource perpetually). Other open source license (that are less stringent) are prioritised to increase developer contribution. Source code under such license can thus be closed-source even from the original copyright holder. But again, commercial success totally depends on the business model you come up with, irrespective of your license. The right license and the right business model will empower each other. Or cripple your business.