4 ms·
> licenses trying to protect the business built on the open source code A fundamental aspect of open source is that there is no limit to the number of business
by ralph84 6y ago
> licenses trying to protect the business built on the open source code
A fundamental aspect of open source is that there is no limit to the number of businesses that can be built on it. If a single company wants a monopoly on building a business on the software, we have a term for that: proprietary software.
- Guthur 6y agoThis exactly, people are crying "big tech, boo hoo", but the fact is these technology companies like elastic search and co thought they could make open source work for their business model but they struggled in the face of competition and so got defensive. And this is the fundamental issue, can they build a strong company based on this software, it's potentially possible but that seem to think they can't be competitive hence the license moves.
- hnedeotes 6y agoThey made a product in which they spent resources and time and provided as open source, then another company which has many more resources took their open sourced code (which legally they could), did some work (or not) on it and provided exactly the same service, behind their now closed source branch. Not only did this company have much more resources to allocate to it they didn't need to bear the discovery and development costs and took an already proved idea. It is legal, it was a good business move by amazon but it definitively sucked for those who had invested in building that software. So yeah, in a way I can understand that now anyone risking their business in creating software or services based on those might be going, "yeah no thanks, you can't fork our work and sell it". Specially when companies are gigantic and a 0.01% of their budget equates to the whole budget of the company who produced the original source. You can't really "not struggle" in the face of the competition. I have to dig more into GPL licensing but anyway, there certainly needs to be some licenses that are not "f$#%% me any way you want" for people doing open source products.
- jacoblambda 6y agoThe license these businesses should be using is AGPL, clean and simple. Run the software under AGPL and dual license it under a closed or restricted usage license if a customer doesn't want to use the AGPL license. Instead we have people electing to create restrictive licenses with varying degrees of "use the software however you like unless we don't like you or your business" baked into them. The dual full free + restrictive license model has worked very well in the past for FOSS based companies. Let people who are fine contributing back to your project and/or open their project up use it however they please and let everyone who doesn't like those terms pay for it like standard commercial software instead.
- cutemonster 6y agoCan you think of any successful AGPL + commercial license examples? I like the idea
- jacoblambda 6y agoOff a quick google search Ghostscript, Bitwarden, Berkeley DB, and Instructure Canvas.
- hnedeotes 6y agoI like the idea, will have to read AGPL. In my mind an ideal version would be, when translated from legalese: If your business is just an extension of the underlying software (the source) and you don't want to open source your part of the work, then pay a commercial license. If your business uses the software (the source) just as an ancillary part most probably you're ok to source back any improvements back and keep them open source (no need to pay). If it's ancillary and you need to keep them closed, then pay for licensing anyway. The only thing I don't understand but seen many time mentioned is the "infecting" nature of the GPL licensing?
- jacoblambda 6y agoThe "infection" is the feature that makes GPL and AGPL useful. The basic idea is that if you are interfacing with the (A)GPL licensed software you are extending it's functionality and must comply with the license. The difference is that the interfacing with GPL is statically linking against the project. With AGPL the interfacing is also interfacing over the network. What this means is that software that clients or peers interacting with the software need to be available to the user. An additional stipulation for AGPL is that all necessary infrastructure to host the service be open sourced as well. The reason for this is to prevent people from creating wrappers that allow them to profit off the licensed software without contributing back or open sourcing. The key thing to note is that you don't have to upstream changes. You only have to provide the source to users (and the license protections extend to them). This means you can still sell GPL and AGPL software but you do have to provide full usage permissions to the user once they've bought the product. As a side note: I've always found it amusing that government contractors have traditionally been very afraid of (A)GPL despite being required to provide (A)GPL-esque usage permissions to the customer/government. Most of this I imagine is due to a fundamental misunderstanding that providing source to the user doesn't mean publicly make source available for everyone. Now if you have an AGPL or GPL licensed dependency and you want to dual(+commercial) license your project, you have to work out a commercial license agreement with the dependency's maintainer. If a project has (A)GPL dependencies and doesn't have a commercial license but you'd like to use one, you'd have to work out commercial licenses with the project and all the dependencies (or have the project maintainer work said license out). This infection effectively enforces users to either share their software or "pay" for all of it which is arguably a good thing for the health of the ecosystem as a whole. If (A)GPL+commercial licensure was standard practice, we likely wouldn't be seeing the [OpenSSL/xkcd-2347](https://xkcd.com/2347/ https://xkcd.com/2347/) issue keep popping up time and again. TLDR: The "infection" forces users/developers to either respect the "free" terms or pay for the full value of the software.