'Source available' is not open source (and that's okay)
Posted by geerlingguy 3 hours ago
Comments
Comment by benrutter 39 minutes ago
I think several large coorporations are pushing the boundaries of what "open source" can actually mean in good faith. Especially several recent big name cases where profit models weren't thought out during start up and then licenses for projects aee suddenly changes.
The term has erroded a lot recently, I'd be happy to see less, but more meaningful "open source" out there.
Comment by safety1st 5 minutes ago
There are really two dynamics at play, one is that there are people who want to give a gift to the world and promote a culture of sharing, in fact they want to REQUIRE you to pay it forward if you use their stuff. That's the ethos behind GPL and AGPL. It has proven to be way more effective than the bean counters expected!
The other dynamic is the more conventional profit making and taking which has perceived a loophole and used it to make some extra bucks on the backs of the nice sharing guys.
I don't have anything against profits, I like money and I own a business where we choose to keep some code totally closed source because money. But you can't deny that this division exists. And I think this dynamic is what most of the dilemmas in the OSS world really arise from, there is a strain of altruism since the early days of the movement which has been betrayed, for many it feels awful if you've released GPL'ed code and then watched Big Tech promptly pile a bunch of proprietary code on top of it and use the resulting machine to strangle the freedoms of the human race over the Internet. You don't automatically get to squeeze profits from a thing just because it's out there and it's shiny and nice. That may not be why the author built it. It may be a betrayal of their intent if you do.
Comment by theanonymousone 10 minutes ago
Comment by asiekierka 2 minutes ago
Comment by koolala 5 minutes ago
Comment by tzahifadida 1 hour ago
Comment by Incipient 1 hour ago
Open source, is, essentially software that I expect to be able to use commercially and tweak if required - but I'm own my own, and I pay for support.
Source available means I can basically help debug issues I have...but I expect that a paid licence is required and will have a selection of limitations (number of nodes, etc).
Comment by sofixa 57 minutes ago
Maybe, but I think that "source available" isn't detailed enough and can mean many many different things.
> Source available means I can basically help debug issues I have...but I expect that a paid licence is required and will have a selection of limitations (number of nodes, etc).
Point in case. For me there is one group, under something like BSL or FSL or SSPL which mostly restricts you from competing with the project's creators (e.g. making your own SaaS out of it), but everything else is fair use, you can use it in prod to make money at any size, etc. And a separate, more restrictive one, which has size, or production restrictions (you can't run the software if you're a commercial entity).
Source available sounds like a good description for the second one, because it's just available, little more. But for the first one where you can do whatever you want with one single exception that doesn't impact 99.9999% of potential users, it's not a good and clear enough description.
Comment by bsder 47 minutes ago
See the "Our Machinery" fiasco.
Yes, Open Source isn't a complete defense against this (especially when there are copyright assignments). However, it sure makes it both a lot harder to pull off and a lot less useful to even try.
Comment by jrowen 2 hours ago
To an outsider it looks like counterproductive bickering between people on the same team.
Comment by quadrifoliate 1 hour ago
The part where the license says "Don't run this on your server and charge people money for it, or we will sue you"?
I know that everyone thinks of Big Tech absorbing your project into their SaaS when they do this, but there are other ways (say AGPL) to combat that. O'SaaSy seems to me to be essentially a "give us your code for free, and you can self host it, but don't dare to charge $$ for it or else!" license.
Now you're bringing lawyers into the picture for anyone who's hosting your software on their servers. It's very reasonable for a SaaS company that wants to defend its moat, but it's not Open Source.
(Talking of, I'm actually curious if anyone has seen actual self-hosted Fizzy instances in the wild.)
Comment by jrowen 1 hour ago
I kind of thought that it was more about stuff like sharing and personal development and edification and the ability to see inside and understand things. But let's get really divisive over the money stuff.
Comment by quadrifoliate 1 hour ago
> I will infer that "anybody can do whatever they want with this code, OR ELSE YOU'RE NOT WORTHY" is the principle you are referring to.
I feel like there's cynicism in your phrasing, but a perhaps more neutral phrasing would be "Don't pick and choose what specific circumstances your users can use this for".
Comment by yjftsjthsd-h 45 minutes ago
> The freedom to run the program as you wish, for any purpose (freedom 0).
https://www.gnu.org/philosophy/free-sw.en.html#four-freedoms
Comment by jrowen 1 hour ago
Why is it important to give "everything" to the users? They have the source code. Why is it so important that they can use it for whatever they want?
Comment by quadrifoliate 49 minutes ago
This can also be true, say, of a dump of leaked Windows source code. Would you say that that's Open Source? Why not? What's different between that and Fizzy? Fizzy's creators will also sue you in certain cases.
> Why is it so important that they can use it for whatever they want?
It's important only in terms of the ethics of calling yourself open. The OSI (and many other commenters here, and me) are saying that open source should be defined by lack of restrictions on the usage; DHH etc. are saying that it should be defined by lack of restrictions on the access.
The reasons why I think usage-based definition rather than access-based definitions are more reasonable are:
- Providing access to code is relatively cheap/easy today. This wasn't always true in the past.
- Usage has a lot more variables than access. If you start putting restrictions on it, anyone using it has to stop and think about their usage to ensure it's not falling afoul of the restrictions. For example, if I put Fizzy on my server and provide free access to it for anyone on the internet without the 1000-item limit, does that qualify as "directly compet[ing] with the original Licensor by offering it to third parties as a hosted Cloud Service"? I would hope not, but if I want to make sure I have to pay a lawyer hundreds of dollars.
Comment by scheeseman486 1 hour ago
Comment by simonw 1 hour ago
In the case of the janky new 37signals license: what exactly counts as "... where the primary value of the service is the functionality of the Software itself"?
Who gets to define the "primary value" of the thing I built?
Comment by jrowen 1 hour ago
Comment by simonw 44 minutes ago
Comment by jrowen 27 minutes ago
Comment by zx8080 1 hour ago
A bit offtopic but could re-generation of the project with LLM (with for example prompt "rewrite the <repo> changing every line of code") help protecting from being sued? If yes, then the OS licensing is doomed to fail.
Comment by mariusor 2 minutes ago
Comment by simonw 1 hour ago
The moment you change a single line of that license I now have to pay extremely close attention to those details again.
This isn't a naive idealism thing - there are very solid, boring, selfish reasons for caring about this.
Comment by jrowen 59 minutes ago
I feel like it's participating in the spirit of open source and should be welcomed, if someone wants to make their code available but just wants to try and restrict anything-goes usage. But I can see the purity argument.
Comment by simonw 39 minutes ago
What matters is clarity. If code is licensed under a known open source license businesses know exactly what they can do with that code. Other users of the code also know that it supports the core criteria outlined in https://opensource.org/osd
Comment by ThrowawayR2 1 hour ago
Comment by Ekaros 1 hour ago
As user as well. Difference between I can use this for free and I have to pay to use this. Even if I can see parts inside is significant.
It might not be real principle, but at least it is real difference.
Comment by nextaccountic 1 hour ago
Uh.. are they?
I'm somewhat sympathetic to licenses that will be open source in X years, but the open source ethos is that, with proper attribution, we can do whatever with the code, the only restriction being that for some projects a derivative work needs to also be open source (while others don't care even about that)
If we were to welcome non-open source projects into a larger community, we should probably begin with licenses that forbid the usage of the software in military and things like that. Which fails to be open source for the same reason: it puts limits in how you can use the code
Comment by umanwizard 1 hour ago
Comment by jasonkester 1 hour ago
If you’re not planning to be a dick, they’re functionally identical.
It’s an improvement.
Comment by ModernMech 1 hour ago
"Source available" projects want the benefits of being associated with that egalitarian philosophy because it's popular amongst technologists, who are their initial customers. But they don't want to actually practice the philosophy because their core interest is protecting their IP to turn a profit, not open collaboration and development. Outside contributions are considered a liability in many source available projects [1].
This is important because source available projects have in the past resulted in a "rug pull", when the project gets enough airspeed, so they start putting more work into the closed source to placate their investors. Once the technologists are not the primary users, the entire source available charade is done. The available source becomes deprecated, features are moved to the closed source branch, and eventually the available source rots.
One final point: if we call source available "open source", then what are we going to call open source to differentiate it from source available. Because they're actually different things.
[1]: For example, many projects won't even allow outside contributions, but when they do, you'll have to sign some sort of contributor agreement: https://www.scylladb.com/open-source-nosql-database/contribu...
Edit: (this is to the response below me, as I'm rate limited now and I'm going to bed so I'll forget to post this tomorrow)
If anyone tried to do this then the project would be forked immediately. An open source project can go closed source, but as an OSS project, everyone should already have everything the need to keep it going despite that, and that all remains open. That's why we love open source.
Also, it'd be really hard to pull off if they've accepted a lot of outside contributions -- when you submit code to an open source project, you retain the copyright. This is not a problem as long as the project is licensed under the agreement under which they submitted the commit, which only grants rights to redistribute under that license. At least that's how it works with Apache 2.0 (I believe, IANAL). So to go closed source, they'd need agreements from all of their contributors to do so.
Now, it can happen. MongoDB is an example. But as far as I can tell, you'd have a hard time of it if you accepted contributions from people and they.
Comment by jraph 5 minutes ago
Not really. A project under an open source license which doesn't accept contributions is still open source.
It is totally about the license and the source code availability.
There are interesting things to say about the various development models, and those common in the open source world, but the open source aspect and the development model aspect should not be mixed.
Comment by jrowen 49 minutes ago
I guess I would have thought of source available as existing under the open source umbrella. I get that there is an important distinction but from an adoption and evangelism standpoint it seems like an unnecessary crusade to push them away.
Do those projects have a strong track record of behaving badly? Do you think DHH has those types of intentions? (I don't know much about him really)
Comment by jraph 1 minute ago
They can, if the original license is permissive, or if there was a CLA.
> I get that there is an important distinction but from an adoption and evangelism standpoint it seems like an unnecessary crusade to push them away.
Depends on your goals. If source available misses the point anyway, adoption doesn't help, the message risks being blurred, and therefore you should push back.
Comment by Supermancho 1 hour ago
Comment by xyzzy_plugh 2 hours ago
I used to think the pedantry was foolish, but I've grown to understand the distinction. It's one thing to criticize the OSI's claim to the term, and I do think they could do a better job at getting out ahead of new licenses and whatnot, but even if you ignore OSI entirely then the distinction is of substantial value.
I do think we need more Source Available licenses in the world. Certainly I would greatly appreciate being able to browse the source of the many proprietary software systems I've administered over the years.
At the same time it is not worth it if the spirit of Open Source is watered down.
Comment by JoshTriplett 1 hour ago
Yeah. Releasing a project under a source-available proprietary license and calling it Open Source, or doing a rugpull and changing an established Open Source license to a source-available proprietary license, is the kind of thing that causes the most grief. If you release something under a source-available proprietary license and make no pretenses about it being something else, and the alternative was not releasing it at all, it's a (slight) improvement.
Comment by sofixa 51 minutes ago
I think we need more differentiation and different terms. Because O'Sassy / FSL / whatever that just forbids other companies from selling the same software as a Service is quite different than just the source being available with no rights at all, or with restrictions on who can use it and when (size of company, for profit or not, production, etc).
Comment by cess11 1 hour ago
Comment by wvenable 1 hour ago
If you don't want start a business and make real money from your software then denying that to others is antithetical to the concept of open source and free software.
That being said; I have no issue with a developer choosing any license they want -- it's their software and therefore it's their right. But calling it "open source" when it specifically forbids certain use-cases is just wrong. DHH wants his cake (pretend it's real OSS) and eat it too (deny usages).
Comment by sofixa 55 minutes ago
What if you do and have done so, yet you're competing with e.g. AWS, GCP, Azure, who can do it for cheaper than you due to scale, and also have a much easier time to sell an extra line item to their existing customers vs you having to go through commercial negotiations and purchase agreements? Cf. Elastic, Redis, etc.
Comment by wvenable 42 minutes ago
And if you don't make it open source, don't call it open source.
My own personal position is that my commercial software is commercial and my open source software is free for everyone to use for any purpose including making money that I will never see. If I cared, I wouldn't make that software open source.
Comment by jraph 30 minutes ago
Comment by kemitchell 35 minutes ago
I couldn't escape the waste until I was willing to give up the idea of myself as experienced, as an expert. Until I accepted that time served taught me lessons, but didn't bestow authority. Most people coming into this are new. They relearn what's useful, and leave the rest behind. That's part of adaptation. I try to see their point of view.
If you ask a newer coder what "open source" means, they might say "like MIT?" or even just "like GitHub?" If you look "open" up in a good thesaurus, "available" is there. The Initiative---really, whoever's on the board now or later---will never own or effectively police the term "open source", much less "open source AI". And nobody claiming "open source" for good or ill will ever summon on themself the kind of attention or cachet that marketing badge once commanded, no matter what their license says.
As for fellow oldheads, there's no resolving contradictions between ways we learned to frame these issues, decades ago. Can changes to a license be a solution to the funding problem? Can using freedom terms to buttress a business be truly open? That bizarre conflict of ontologies won't decide where programming goes in the future, if it ever did. I doubt it will even be won or lost. It will just fade away, like the circumstances that started it.
DHH can kick the anthill. The activists can raise their old hue and cry. It's purely elective, demoded dramatics. The real problems of software politics today aren't expressible in either schema. They can even seem tautologically unsolvable. Meanwhile, we've got new aspirational generalities that don't translate into those terms. "Sustainability", because many doing good aren't doing so well. "Decentralization", because we're all sharecropping on some platform now.
Sometimes I think the best I can do for the younger generations facing today is just to never impose petty human trivia about "the movement" ever again. Never deign imply I know what they should consider important. If "free" and "open" meant something to me, let their inheritors tell me what they mean now, in practice. Tell me about the world they built and left for them.
Maybe I don't have to choose. After all, who reads blogs?
Comment by jrowen 6 minutes ago
Comment by quadrifoliate 32 minutes ago
I used to read yours, anyway!
If the literal lawyer who specializes in licenses doesn't have a clear point of view on this, what hope do the rest of us have?
Comment by kemitchell 2 minutes ago
If you're looking for a seer with a salvation plan---as technology, legal innovation, organizational form---I don't have hope to offer you. Look at the figureheads of free and open, the "philosophers". The ones we remember succeeded, but not on the terms of the lofty gospels they preached. Very few practical systems are "free". Most competitive software is closed, and sharing code across orgs still sucks much of the time. Linus succeeded, but Linus just wanted to code, get respect, and make good money. Glad he did.
Thinking we'd seen the end of software history got us here. Now I see more willingness to try new things again. They mostly wither or fail, but so did most early attempts at "free". Mutation, selection, adaptation.
Comment by modzu 1 hour ago
Comment by darig 1 hour ago
Comment by phendrenad2 2 hours ago
No, YOU look. The term "open source", being made from two common words with actual specific, shared meanings, unfortunately together create a common-sense meaning that is NOT the "specific, shared" meaning that the Open Source Initiative defines it as. So, we'll spin and spin, stuck in this endless debate. And no amount of beating people over the head (except, maybe if you can find a way to reach through the computer and do it physically) will change that.
Comment by RossBencina 2 hours ago
There is another, I think different, form of "source available" that I've seen a bit lately, similarly from corporate/commercial sponsors: the source code is released under an OSI approved license (e.g. BSD, GPL licence) and the owner maintains and develops the code in an ongoing fashion, but there is no way to easily interface with the developers, contribute changes back to the project, nor is there any public facing bug tracker or developer/user community. To me this is just as much "not open source" as a specific no-compete with the primary project sponsor.
Comment by lmm 2 hours ago
No, that's very much open source - in fact, it was the way most big name open source projects were developed back in the early days. See the famous "the cathedral and the bazaar" essay. Public bug trackers and widely soliciting contributions to mainline are relatively new phenomena, but you always had the right to fork and maintain and share your own fork, and that's the part that's essential.
Comment by cortesoft 1 hour ago
Comment by ModernMech 46 minutes ago
- Are there contributor guidelines?
- Do contributors have to sign a waiver before they can contribute any code?
- Is there a RFC process?
- Does the project actually respond meaningfully to that feedback, or does it simply get filed in the special complaints folder for corporate.
- Does the project encourage outside contributions in more than a cursory way?
- Does the CLA grant the company unilateral relicensing rights?
- Are governance documents public?
- Can the community vote on decisions?
- Does the community have a say in how it's moderated?
- Are community members invited to actually join the organization?
- Are architectural decisions made in open meetings?
- Is there a public ROADMAP and is the community invited to contribute to it or influence it?
- Can others build competing distributions without fear of retaliation?
- Can the project be forked if there is community disagreement about direction?
Those are just some signals off the top of my head. There's no bright line; the presence or absence of a few won't say anything one way or another. But if many of the answers to those questions are leaning toward the negative, then I don't think it can be open source.
Comment by wvenable 32 minutes ago
RMS just wanted to be able to fix his printer driver.
Comment by nevon 36 minutes ago
I'm not sure if there is a term for what you are describing. Perhaps "community driven project".
Comment by quadrifoliate 2 hours ago
I feel like this is a completely different conversation, but this is just as much a misunderstanding of what open source is as DHH's.
As long as the code is under BSD or GPL, you are free to take it as-is and do what you want with it. You could run your commercial service using it. You can certainly write patches and apply them to your own servers. You could even email the maintainers with them -- worst case is that they will ignore the emails!
Open Source does not guarantee that your contributions will be accepted or merged back to the project -- indeed, if you think about it, that would be absurd. I might want some random thing in the Linux kernel, but the maintainers will always have the final word on whether they want my patches or not.
The O'SaaSy license says that (essentially) 37Signals will sue you if you try to host this on your own servers, and try to sell it as a service. That's totally different, and a legal rather than a technical hurdle.
Comment by umanwizard 1 hour ago
It’s massively different from source-available in that anyone can fork it for free and start developing it themselves however they want. Just because one fork of the project (the original one) follows a closed development model doesn’t change anything about the code, what you can do with it, and how others can develop it.