Don't get me wrong, I love Apple, but I don't love this hyper-centralization of wealth and it would be better for the world if we defanged the power that billionaires have.
Don't get me wrong, I love Apple, but I don't love this hyper-centralization of wealth and it would be better for the world if we defanged the power that billionaires have.
That is an arbitrary criteria, and you'll end up with software being written by Apple Development LLC, the loss-making shell company that Apple uses to do all it's development.
If you want something other than the GPL you can use it but don't be surprised when people commercialise your software at scale, don't pay for it and don't release changes back to the community.
The core issue here is all these lawyerly lawyers try to parse words and contracts and it's all bullshit. The core point about OSS isn't to hyper-centralize wealth. The core point about OSS is to enable people to create a common good. A common wealth for the people. I'm not against the core function of capitalism—the feedback loop that allocates resources to those that produce things that others want—I'm against some of its outcomes. Namely, a class of hyper-wealthy people that make out like bandits and incorporate in places like Cyprus to pay as little back as possible to the very communities that enriched them in the first place.
It isn't just. And quite frankly, I consider it to be a disease that hurts the billionaire class as much as it hurts the rest of us. This never ending dick measuring contest while the world burns. Ferraris driving past over-packed women's shelters. People ashamed that they "only" drive an Audi. Like, in bayesian free energy terms it's the equivalent to holding onto ninety tons of fat and still trying to eat more. Of course Bezos went ballistic when his phone got hacked. Security concerns sky-rocket when you're holding onto this much energy and power.
In fact, you don't even need to close the loophole. You just need to make FAANG employees pause long enough to worry that they might not comply, deterring them from using said library.
In the same way that it's trivial to write a twitter clone in a weekend, yes.
Hundreds of goverments have tried for decades to do what you claim is trivial. Good luck.
What you are presumably referring to is transfer pricing, which is a completely different beast.
Edit: Sadly, I think these kinds of battles are rather one sided.
It's practically unthinkable that a company like Apple/Amazon/etc is going to create an expensive, complicated international legal structure to conceal wilful infringement of some open source licence.
It's perfectly achievable to write a licence that forbids use or incorporation in products, servers or services from particular companies.
There are all kinds of ways you can write a license that won’t be used popularly but would achieve this specific goal. Do you want to close “your” software off to companies who might seek to be acquired later?
I do not have the motivation to lay out my full argument as that would take another entire paper, but even if it turns out to be not as hard as I think it is, it certainly isn't as easy as is posited here.
The risk is far more likely to be inadvertently making the licence overly narrow and preventing usage by companies that you would actually intend to allow (or at least contemplate should be allowed).
Regardless, the text doesn’t really matter. Most companies will run for the hills as soon as they see anything remotely like the contemplated licence. It’s just not worth the risk for them.
Source: former lawyer.
And watch everybody avoid your lib. You think you are special? A competing lib will soon show up without that restriction. And that lib will get attention from corporations and they will have thousands of eyes use the lib and test it and beat the hell out of it and fix issues and send them upstream (since maintaining a fork is too much work) and eventually this commercial-permissive alternative will thrive and be 100x as stable and streamlined and your alternative will cease to exist.
But you are free to do this. Nobody prevents you from it. But please don't cry later when seeing effects that you don't like.
Assuming there are network effects for being the 'official' place to contribute to your project, than you can start with an MIT license, and once it gets popular, you take it private with slightly ever less permissible licenses.
(GPL wouldn't make this so easy.)
Fat chance. An average programmer will replace the library if the current one has issues, not fix the issues in the library. It is rational to do so (assuming a different lib exists, which it does for most libs).
If you don't want people to use your work, don't publish it. Publishing has the totally selfish goal of getting others to help you by trying things out, report bugs and improvements and some of them to contribute those things to you. Don't publish if you don't care and just want mobey out of it. Then open source is not for you.
You think Linus Torvalds wanted donations when he published Linux? Or that he was in a particularly philantropic mood? No way. He did it to get other people to work for him. And it turned out great for the project! That he is now making a living with it is just a side effect.
I don't know about everyone else, but if I publish something as open-source it's because it's something I made and needed in the first place.
Open-sourcing it is just a way to enable other people who have an itch to scratch to be able to do so. More often than not, such scratches comes back benefiting me as the original author.
I don't get this fixation on everything having to be profitable, but then again I don't work on any FOSS projects full time. I only do it to scratch an itch, to make the software work for me.
And when it works... I go do the actual work I'm paid to work on, using the software I've helped make better.
At the time I was thinking "Yay! I'm famous! My code is good!".
Over the years I've seen some of my code, not much of course, end up in other big projects and I'm a little proud, and a little pleased. The fact that the company got the money and not me? Doesn't bother me in the slightest.
I write code for me, and if I get bug reports that prove other people used it then I'll try to improve things. Money just isn't a consideration, although I have linked an Amazon wishlist in a few places over the years, and received unexpected books/films which make me smile.
If you look at the mailing list with the announcement, it was "look ma, no hands" kind of moment. Just letting people know of his experimental project, with entirely no expectations if it growing as much as it did decades later.
That's not to say Linux is a good example to go by, for an average free software project.
That said, not every shared-sources project would be used, if its license requires to pay royalty.
Also a choice quote about Stallman [1]:
"Richard Stallman argues the obvious meaning of term "open source" is that the source code is public/accessible for inspection, without necessarily any other rights granted"
[0] https://en.wikipedia.org/wiki/The_Open_Source_Definition
"Between meetings that week, I was still focused on the need for a better name and came up with the term "open source software." While not ideal, it struck me as good enough. I ran it by at least four others: Eric Drexler, Mark Miller, and Todd Anderson liked it, while a friend in marketing and public relations felt the term "open" had been overused and abused and believed we could do better. He was right in theory; however, I didn't have a better idea... Later that week, on February 5, 1998, a group was assembled at VA Research to brainstorm on strategy. Attending – in addition to Eric Raymond, Todd, and me – were Larry Augustin, Sam Ockman, and attending by phone, Jon "maddog" Hall... Todd was on the ball. Instead of making an assertion that the community should use this specific new term, he did something less directive – a smart thing to do with this community of strong-willed individuals. He simply used the term in a sentence on another topic – just dropped it into the conversation to see what happened.... A few minutes later, one of the others used the term, evidently without noticing, still discussing a topic other than terminology. Todd and I looked at each other out of the corners of our eyes to check: yes, we had both noticed what happened... "
Eric S. Raymond is about Open Source.
There are somewhat subtle, but very important differences between their philosophies.
Eg the Linux kernel deliberately uses GPL 2, and that community has rejected GPL 3.
https://en.wikipedia.org/w/index.php?title=Shared_Source_Ini... lists the following licenses:
- Microsoft Public License (Ms-PL) [open source]
- Microsoft Reciprocal License (Ms-RL) [open source]
- Microsoft Limited Public License (Ms-LPL) [not open source]
- Microsoft Limited Reciprocal License (Ms-LRL) [not open source]
- Microsoft Reference Source License (Ms-RSL) [not open source]
So, "shared source" was clearly not a particular license by MS.
Also, at that time, Microsoft tried to establish this term (by its Shared Source Initiative) for the general concept of "source code is available, but the license is not necessarily open source".
In the linked Wikipedia article, one can read on this:
"However, former OSI president Michael Tiemann considers the phrase 'Shared Source' itself to be a marketing term created by Microsoft. He argues that it is 'an insurgent term that distracts and dilutes the Open Source message by using similar-sounding terms and offering similar-sounding promises'."
Edit: I guess you're asking about 'ESR' and 'RMS.' ESR = Eric Raymond, an early proponent of open source as a communal development model ( http://www.catb.org/~esr/open-source.html ). RMS is Richard Stallman, the originator of the GNU project on which the Linux kernel is based, as well as the GPL. RMS disagrees with ESR, in that he argues that the term "open source" is a distraction from the larger goal of free software ( https://www.gnu.org/philosophy/open-source-misses-the-point....) .
There have been plenty of other authors with strong opinions on the subject but these are the two whose names most often come up in the context. Point being, it is unreasonable to say that "open source" is a term of art (as the GP did) whose meaning will be agreed upon by practitioners and advocates everywhere.
This is certainly something I sometimes do, but not here. What are you talking about?
In any case, "open source" isn't a term of art. It did not originate with ESR or with anyone else in the software development field, so it means whatever anyone wants it to mean.
> No Discrimination Against Fields of Endeavor The license must not restrict anyone from making use of the program in a specific field of endeavor. For example, it may not restrict the program from being used in a business, or from being used for genetic research.
A lot of business code can just as well run on server, and that works around basicall all the open source licences.
Besides, it would have to be a lot more formal; another commenter mentioned the Unreal Engine, which states something to the tune of "free to use until you earn over X, then you pay us Y% of your revenue".
Cynically, open source libraries need to use the err, hook-and-sinker approach? Be really good at bootstrapping a company or part thereof, then when they have buy-in, start charging. It's what Unreal and (I think?) Unity do, it's what Slack did (really successfully, in a lot of places where it was introduced it was snuck in the back door by employees, used for a couple of months until the restrictions became too much, then the company started to pay for it; I've never seen 'grassroots' software deployment like that before and I'm impressed).
But it'll be difficult to pull off fully without the software being as-a-service or DRM things.
I wonder if the package manager systems could play a role in that. Require you to register your application at e.g. NPM, then every time an `npm install` is done, keep track of it. If usage does not decrease, start charging for things.
One could also consider an alternative, compatible package manager; an open source publisher could opt to only push to and promote that one. The package manager charges for use, and pays package maintainers relative to usage.
It is very much the Silicon Valley mentality that all value is added by that company and that no suppliers should make any profit.
Cynically, open source libraries need to use the err, hook-and-sinker approach?
The common terminology is “bait and switch”. Also very much Silicon Valley. Apple for example likes to become a critical customer for any supplier, then use their leverage to squeeze them.
You can't have your cake and eat it too. If you want usage, you can make it MIT and then suffer while they capitalize your code (as they are with in their rights to do), or if you want protection but low usage, make it AGPL or proprietary even. I don't really see a scenario where you have high usage, high protection and also high profit from you selling your product, unless you are good at marketing and selling your product.
- high usage - high protection - high profit
What's the argument that OSS software (which you could use for free indefinitely until you gain profitability) is somehow not capable of the same?
Going open source is one of the ways to increase your chances of increased usage.
> - high usage - high protection - high profit
> What's the argument that OSS software (which you could use for free indefinitely until you gain profitability) is somehow not capable of the same?
Software that meets those criteria also has an organization that spends quite a lot on sales and marketing. Stimulation of usage and extraction of revenue doesn't happen on its own.
More explicitly, if an already-profitable organization can't use the software without paying on day zero, quite a lot of effort has to be expended to get them to make the leap, hence the long enterprise sales cycle. You can do it with just marketing if you keep the purchase price low (ie. below what a department manager is allowed to spend using a corporate credit card).
Open source can circumvent this to an extent, but to do so it has to allow businesses to use the software for free, and convert a percentage of those users to paying voluntarily.
Whether the mechanism of conversion is consulting and customization services, hosting services, support services, dual licensing, an 'enterprise' version with specific features, or something else is immaterial, they are never just paying for exactly what they were getting for free. The closest a business will come to that is employing developers to work on the open-source software, or at least allowing employees to work on the software during work hours.
The specific licensing-only approach you're outlining will only work in a very narrow case: A new unprofitable company starts using the software for free, and starts paying once they cross over to profitability (at which point they might decide to switch to using something else, instead). Note that there are some very large VC-fueled companies that have yet to be profitable. Convincing an already profitable business to pay at the outset just can't be done without the aforementioned marketing and sales.
> once you start to make money
So if a nonprofit uses that software to sell services (they gotta fund their expenses after all), does that count? Seriously. With vague phrasing like this, you're gonna have a bad time. Contracts are that verbose for a reason.
This of course means it’s not open to the kind of free-form open collaboration that typifies Open Source but if anything this just goes to show how more restrictive licences such as GPL actually promote innovation.
It's definitely more predictable.
Yes, maybe at the end of the day I lose out to potential suitors, customers, collaborators etc. but that's my choice.
Most people are likely assuming that the typical author intent behind the decision to open source is to increase usage and contributors over the default closed source/proprietary licensing.
Would you also reject a library with this license if you knew the commercial use license was pocket change?
I could be wrong but it seems obvious to me that semi-commercial licenses would explode the amount of open code available, because instead of devs working for corporations, corporations would end up working for them.
Commercial licensing - open code, free for non-profits, per-seat or per-user pricing for for profits with an official license, forks are considered a derivative work, clean room clones aren't. There would be details, but there are always details, and they don't stop two hundred page EULAs from existing and being (mostly) binding.
But we don't have this because Stallman is a zealot and he wanted to Make A Point about purity. So instead of creating a market where devs could actually get paid for original work and corporations would be the ones paying, corporations get millions of hours of development effort for free - because he thought he could somehow magically strong-arm them into playing to his rules.
But then they jack up the price a hundredfold.
You can't do anything (short of rewriting), even if you could flat-out hire a replacement dev team for the entire project for cheaper than what they're charging you.
OpenOffice and MariaDB are classic examples of Free Software solving this - the IP holder sandbagged, so the community forked and fucked off. Even despite that though, LibreOffice still suffers from losing its OpenOffice name, and plenty of users lose out because they're unknowingly using a barely-updated version due to abovementioned sandbagging.
Proprietary software hands a default victory to the IP holder. Free Software hands a default victory to the user. It's either one or the other.
Uh, he's okay with selling exceptions.
More likely it would implode the open code available, since usage would drop like a rock.
1) Once you're required to pay money, people start comparison shopping and proprietary software is optimized to win that game.
2) Nobody wants to spend the engineering, accountant, and lawyer hours to keep track of assorted semi-commercial licenses for a zillion dependencies and what they're owed. Half the point of FOSS is that you don't have to keep track of licenses and compliance, as the periodic sob stories on HN/Slashdot about "Oh no, I got audited and wasn't in compliance and had to pay. I'm going to switch everything to FOSS; that'll show them!" show.
Polyform Non-Commercial License
https://polyformproject.org/licenses/noncommercial/1.0.0
Prosperity Public License
Do note that this effectively prevents other people from collaborating with you, since their contributions would be GPL-protected and you may not sell them. So it's not a good model for larger open-source projects. But if you're an independent open-source developer who works as a sole contributor and feels exploited, then it's probably a better model.
If your GPL project will be so tightly coupled with the company's project that their entire project will become GPL - then yes. Big libraries like Qt, for example.
On the other hand, if the coupling to the user's project is loose and doesn't make their entire project GPL, they have no reason to pay for a license. For example, compiling with gcc or hosting with nginx, or calling ffmpeg doesn't make your entire product GPL.
If it's software for personal use, then the GPL is just fine. The GPL is explicitly designed to protect personal use.
If it's software for commercial use - I mean, that's exactly what the issue is here. Commercial users ought to need to pay for the software they use. Just because you offer a commercial license doesn't mean you need to charge a million bucks for it - if someone emails you and says that they work for a startup, you can always respond with a exclusive commercial license free of charge, if you like.
If you own the software you can charge whatever you like to different people.
Someone who's not employed by a fortune 500 company, probably the 99% of devs?
Like I said, go ahead and offer free commercial licenses to small companies, who in your estimation are 99% of developers.
> Like I said, go ahead and offer free commercial licenses to small companies, who in your estimation are 99% of developers.
Offering commercial licenses adds a lot of work on top of the already difficult development of OSS projects. I don't understand why you think that the situation can be fixed using existing solutions, when the problem arised with these solutions already in place.
Perhaps we need something different??
Edit: I also completely reject the notion that everything should be commercialized. OSS is the antithesis of this. Down with commercial licenses, down with rich capitalists exploting people's voluntary work.
You could also share revenues, to incentivize developers to join.
I'm not sure how that would be possible in an effective and transparent way though.
It is common to require a CLA/CAA in these dual-licensing cases such as Qt and other big commercial projects.
As discussed more generally on P2P Foundation: http://wiki.p2pfoundation.net/Copyfarleft
AMA
Do you have licensing recommendations for software along the lines of copyfair/copyfarleft?
For capital information goods I recommend the GPL, or even BSD style licenses depending on what it is and who is making it and what their plan is.
Of course, the OSI's Open Source Definition precludes these kinds of restrictions, so it isn't "open source" by that definition.
Still I get your point, and they indeed don't need to negotiate to use GPL but, with GPL most of the times the actual developer receives the merit of the work (whatever it means) and more important, the community can use any improvements/features/functionalities that FAANG may develop on top of original work.
However, don't complain later on that you can't modify software or run it on your own device like you can with GPL. You can't have your cake and eat it too, pick one.
I wrote more about this in another comment but I'll paste here for convenience.
---
Why do people create something and explicitly license it under an open source license and are then surprised when it's used as the license permits? I can see a few possible reasons:
1. Culture: GitHub seems to have the culture of people using and putting out their code as open source just because everyone else is doing it, or they just don't know or care to do enough research about software licenses.
2. Promotion: open source seems to be used as a way to promote your product and you simply hope that no one will "screw you over" by using the license as it permits, even by big companies. They'll use open source to build their product but will cry foul when corporations do the same exact thing the open source creators were doing in the first place!
These two factors seem to account for a the reasons behind switching licenses or other licensing issues for a significant portion of the open source license based posts on Hacker News in the past several years. Companies could have just started with a proprietary or copyleft license initially but inevitably in most of the posts I've seen, it's always a company with a permissive MIT style license that then bemoans cloud vendors rightfully taking advantage of their code.
What will happen in the future? It seems that people will create more proprietary software in the form of ostensibly "open source" licenses such as the SSPL by MongoDB or others. People will say that they're not truly open source, just another variation on proprietary source available licenses, which is true but the problem isn't a moral one, it's a practical one. GPL was started because the end user freedoms were eroded, and these licenses also fall into that, where people will soon discover that a proprietary license isn't great when they want to expand the original software but are encumbered by the license, such as if they work for a large company or other such restriction. Having no restrictions is always better than having even small ones.
But how will open source creators make money, one may ask. The simple answer is, they don't, and they shouldn't expect to. The more complex answer is, open source is not a business model, it is merely a licensing and distribution model. You must compete not on the code but the problems your code solves. Your product must also include marketing, sales, branding, and other business skills. Treat your product as a startup.
Amazon could open source all of its code and infrastructure and it would still be the dominant player in cloud computing as well as buying stuff online. Why? They are not in the business of selling code, they are in the business of selling convenience (as every business is actually, you don't hunt your own meat, a grocery store sells you the convenience of buying food, with money rather than time and effort; business is just commoditized convenience). Moreover, people know and trust Amazon, they don't know your other site, even if you took their source code and made your own website.
At the end of the day, people need to understand that a product is not a business. If you want to make money, you probably shouldn't make a free product. There are ways to leverage a free product into a business, as seen with TailwindCSS (free, open source) to Tailwind UI (paid, proprietary) or Laravel to Laravel Spark and Forge (they're what's known as lead magnets in marketing terms, a free product to entice the customer to buy the paid version), but don't expect people to spontaneously pay you when they could use your product for free, unless, again, you have the business skills to make your product stand out via marketing and having product-market fit.
It would be nice with a license template for this purpose, vetted by a lawyer to be reasonably airtight. Encoding that intent in a way that's not easily avoidable is probably harder than most people think.
1.) selling physical copies
2.) charging for support
The first one is probably not viable most of the time these days, but I can see how the second one could work : for instance one could modify one's code forge so that you would need to pay to open a ticket, and/or put up an asked sum of money to start working on a ticket (that several people could contribute to).
What's that supposed to mean? Surely the value of e.g. Linux to its stakeholders surpasses 1B.
Using a free use license and then complaining that companies and people freely use is just completely moronic.
And it's not stealing so stop with the hyperbolic nonsense.
Any reason for that? Most of the opposition is on religious/fashion/popularity grounds as far as I can tell.
You are never going to fix the problem of centralization of wealth if you keep thinking that is a matter of "unfairness". (Much like Socialism and central planning), as long as people give in their freedoms to big central entities for the immediate benefit they offer (shiny hardware, low TCO, whatever) economies of scale lock-in and then it becomes almost impossible to get these entities back under control.
As long as there are people that think that it is okay for us to spend our resources creating private software we will get companies exploiting trying to extract value from software developers, and especially so from those that work on FOSS
The problem I am talking about is the asymmetry: Apple (Amazon, Google, MS, etc) can create value from the work from FOSS developers, but FOSS developers can not create value from the work of Apple (Amazon, Google, MS, etc).
I could probably dig up specifically an Amazon open source example, but I think you can convincingly argue that devs have created a ton of value building on top of the work on AWS.
Second, the examples you give are not part of the core value of the companies. They are commoditizing their complements. [0]
When Google releases a self-hosted version of their search and adwords programs, when Amazon makes AWS products compatible with OpenStack or when people can run iOS on any hardware and have access to the source, then I will start believing they are willing to give back proportionally to the amount of value they extract.
[0]: https://www.joelonsoftware.com/2002/06/12/strategy-letter-v/
How many fewer developer jobs would there be now if every OS installation cost what Solaris used to cost (or even what Win2K8 Server cost)?
Sorry, I am not following. What is the implication here, that application developersand Free Operating Systems are complemetary products?
> How many fewer developer jobs would there be now if every OS installation cost what Solaris used to cost?
Of course the market would be much smaller without FOSS, but how does this relate to what I am talking about?
I wish we had more FOSS, not less. I wish people were willing to refuse the short-term apparent benefit/convenience of closed source and started at least hedging their investments on FOSS alternatives.
Yes, that was my point (or at least application development and OSes are)
Anyway, the point from Joel's article that I think so many people miss is that *every smart business should try to commoditize their complements". If you are an OS developer, you will try to commoditize you hardware, If you are an application developer, the smart thing is to commoditize your OS, and so on up the stack.
So, I don't understand the remark about Linux costing as much as Solaris. I am not expecting the final consumer to look at Windows and Linux and say "yeah, we need to pay for Linux". What I do believe is that smart application developers would never voluntarily lock themselves into a closed platform.
Both applications and hardware are complementary to an OS.
So if you are an OS developer and are following this logic, you'll also try to commoditize the applications.
(And see eg the Apple app store for an illustration.)
Please explain. Especially what you mean by extracting value.
What makes me a better person than Apple etc?
https://anticapitalist.software/
By default it disallows use by entities like Apple, but you could dual-license it, to provide the million-a-year alternative
We tried it here in russia back in 1917. But then oops! something went wrong.
Just using anti-trust laws to their full effect would be enough.
Funny enough, even the original paradigmatic case of breaking up Standard Oil was a farce.