Seeing the source code isn’t that terribly important and loses the main benefits of FOSS.
I think the main benefit is community involvement in submitting bugs, contributing changes, writing docs, and being part of the project. Even if contributors do the main work, this long tail of user contribution is so important.
With source available, I’m not contributing any of my work toward a proprietary project. I’m happy to spend hours researching and writing up a bug if my work goes toward a common good. Not so much if it just funds some corporation with free labor.
I think it’s a distraction to try to force this into a good/bad dichotomy. I don’t hear anyone saying that “source available” is bad. Just that it’s different than FOSS. There’s nothing wrong with selling software. I just think it’s inferior to FOSS for producing high quality software.
> And the community has the freedom to fork, even if they don’t.
So does a SAMS community. They just can't turn it commercial (for a noncommercial license), or they have to wait for full FOSS (for a delayed FOSS license), etc.
> And pretty much every successful FOSS project accepts bug reports from users. So that’s still a contribution even though it’s not source code.
It’s not the possibility that’s important, it’s the practicality.
I can “fork” windows. I just can’t do anything with it without paying Microsoft.
And I can also spend effort to write up a detailed report to Microsoft or to a SAMS project. But I won’t, because I don’t like doing free labor for corporations.
> I think the main benefit is community involvement in submitting bugs, contributing changes, writing docs, and being part of the project.
I disagree entirely. You're describing various communities around various OSS projects, and what you're describing is fantastic. However, none of it is inherent to OSS. There are more OSS projects out there that have no community around than those that do, but they are no less OSS.
> I think the main benefit is community involvement in submitting bugs, contributing changes, writing docs, and being part of the project.
Imho the main benefit of FOSS is that it becomes a shared good forever. Which includes those community aspects.
No vendor can close it back up. If vendor goes under or stops supporting the community, the community can go on regardless. That keeps the FOSS available to all until the last copy bitrotted away.
> I think the main benefit is community involvement in submitting bugs, contributing changes, writing docs, and being part of the project. Even if contributors do the main work, this long tail of user contribution is so important.
I wholly disagree. It depends on the project.
For the projects that want contributions, yes, FOSS is what you want.
For projects that don't want contributions, there's no loss in switching to SAMS.
I said as much in the post.
> I think it’s a distraction to try to force this into a good/bad dichotomy. I don’t hear anyone saying that “source available” is bad.
And yet there are comments on this very page saying that SAMS gives less freedom, therefore it's bad.
Let me know when a "source available" project achieves the same widespread acceptance and success as the thousands of open source projects like the Linux kernel, gcc and everything else that have given the industry the ability to be more productive by standing on the shoulders of giants.
Edit: if you want an example of where GPL vs BSD license made a huge difference, just look at Juniper's behaviour around their changes to FreeBSD that were used to build JunOS. Juniper was a poor contributor of changes they made to the FreeBSD kernel back to the community. In comparison, the fact that the GPL forces vendors to publish their changes to Linux means that the community has ended up with support for many embedded platforms being merged into mainline. The FreeBSD developer community struggles in part because vendors can take without giving back because of the license, so there is less incentive to participate in the community.
To reply to your edit, you are making my case for me.
One of my points is that FOSS can be worse for the end user because companies like Juniper can take a lot of it and make it proprietary. This is true even for the GPL in these SaaS days.
I personally think that copyleft is a necessary thing for non-FOSS SAMS because of this.
> One of my points is that FOSS can be worse for the end user because companies like Juniper can take a lot of it and make it proprietary.
I disagree with this point. They don’t make the FOSS worse. They make a new thing. The original is still available.
And if it was SAMS it wouldn’t save it from this fate as it would never be used enough to get to this point.
So SAMS isn’t a defense against “abuse.” But I argue that this isn’t abuse at all as the license is used as designed. It’s not a bug, it’s a feature.
If I create a project with MIT, I’m perfectly fine with Juniper taking it and bolting it onto their own proprietary software. I don’t think this makes my project worse.
That's a disingenuous argument when proprietary code such as Windows, AWS, and Google have just as much widespread acceptance, and they often did it by cannibalizing FOSS.
Last I checked, all those organizations were contributing many changes every release to the Linux kernel to improve performance, fix bugs and add features.
Software licensing has almost nothing to do with monopolies you mentioned. Google's monopoly comes from the position of power it has entrenched itself in by controlling search and using that control to make its advertising platform ubiquitous while buying up competitors in the online advertising space.
In fact, I would argue that open source licenses makes it easier to compete against the cloud platforms you listed. Smaller companies like Hetzner can build their own private cloud platforms using virtualization software like QEMU (another very healthy project licensed under the GPL) and open source orchestration software. They can obtain and build on this software because it is open source and freely available (free as in both beer and money). "Source available" licenses aren't an improvement on this.
WTF? Hetzner has built a platform to deliver services to their customers. They have built a business that takes care of putting in physical infrastructure by constructing buildings to house servers, deliver network connectivity, cooling and power while financing that infrastructure and delivering service as a great monthly price. QEMU is but a small part of that, and I'd venture a guess that the cost of building the software to run their business is around the same order of magnitude as the physical infrastructure. That's hardly a parasitic business.
Moreover, Google is the parasite in this case. Hetzner was founded in 1997 before Google even existed, running cloud-like business before Google launched their first service. Google isn't the reason software like QEMU exists, although they have certainly helped improve it.
Not sure why you're choosing to be so ignorant of the history of how we got here today.
I do not dispute that Hetzner built that stuff, but in "The Economics of Programming Languages," Evan says that cannibals need to build a business too. What they don't need to build is the software they cannibalize.
So the original authors have to build the software and a business, while cannibals just build a business. Who is going to win?
And your claim that QEMU is a small part of their business discounts the other FOSS code they build on. How much FOSS? I bet it's a lot.
You appear to be viewing software licensing as a zero sum game. How has Hetzner's use of open source virtualization software harmed the original author of QEMU, Fabrice Bellard? Back in the early days of QEMU, there were bugs. Lots of bugs, as hardware emulation is complicated. By releasing QEMU under the GPL, the project gained lots of users, and some of those users started fixing bugs. Because Fabrice chose to license QEMU under the GPL, users were forced to publish those fixes back to the community. Companies that decided to use and build on QEMU made it better. Parasites only take, while FOSS makes sure that users give back to the original project.
Why is it that software developers, like Fabrice Bellard, choose to use FOSS licenses rather than a software available license? Do they receive zero benefit from choosing a FOSS license? No. They receive the benefit of other people using, and then improving the software they originally developed, which in turn feeds back into building a stronger community that supports the software.
SAMS has barriers to entry that FOSS does not, and it fails to protect certain developer interests that FOSS licences protect. Those barriers to entry and rights matter to authors of FOSS. Developers who believe in FOSS will never adopt SAMS licenses, because SAMS doesn't protect the rights those authors value in the way that licenses like the GPL do. You're free to use whatever "software available" license you want, but people like me that value what FOSS gives back to us will never come around to your viewpoint because you do not value what we value.
It is not bad but it is not open source and is closer to proprietary software. Even Windows is source an available with the proper NDAs.
And it does remove a freedom from the user, that of paying someone else to host and run the software on their behalf.
This seems like the software version of inkjets, sell the printer for free and make money on consumables while locking in their users to buy from them. In this way, “Source Available” gives away the software but locks the user into only being able to use them to host.
And before you say the user can self host, be aware that many times the user may not be a tech company and self-hosting would be too hard for them. That is why many organizations use cloud companies like AWS, etc and forcing the user to not be able to use their host of choice is taking away user freedom.
> It is not bad but it is not open source and is closer to proprietary software.
Exactly this. I've been producing both OSS and proprietary software for decades. I've always provided access to the source of the proprietary software I sell -- but that is still proprietary software. The license that comes with it bears no resemblance to an open source license.
Okay, but your users can't share your proprietary stuff, can they?
With SAMS, users can have the source, modify, and share. With proprietary, it's hit and miss if they even get the source. Being able to modify is rarer, and being able to share is even rarer.
SAMS has at least three things in common with FOSS and only one in common with proprietary (no cannibalism). How could it be closer to proprietary?
> your users can't share your proprietary stuff, can they?
They can't share the source code with the default license, no, but other licenses can always be negotiated.
> SAMS has at least three things in common with FOSS and only one in common with proprietary (no cannibalism). How could it be closer to proprietary?
I'll be really honest here -- I'm pretty sure I didn't fully understand the point your post was making. It sounds to me like you have a problem with the virality component of OSS and SAMS, as you describe it, is just OSS without that. But the virality component was never a philosophical part of OSS. It exists in most OSS licenses in order to ensure that the project remains open source in the future.
So, to me, SAMS sounds pretty much exactly the same as OSS.
As I said, I'm sure I failed to grasp something here.
> It sounds to me like you have a problem with the virality component of OSS and SAMS, as you describe it, is just OSS without that.
You did misunderstand, and I apologize for that.
The one quote I put in about not liking virality was an admission that I used to not like virality for bad reasons. My opinion has changed, which is why I have a note near the end that copyleft is a good thing, that it should be the default, even for SAMS. Especially for SAMS, really.
The difference between SAMS and FOSS is that FOSS gives an advantage to cannibals, and non-FOSS SAMS takes that advantage away from the cannibals.
For the end user, nothing should change between SAMS and FOSS (if my definition is right), and that is probably where your confusion comes from.
I've reread the piece a few times now, and I'm still muddy on what you mean. This is likely the fault of my foggy brain, not a fault of your writing. But since I have your ear, can I ask a question?
From a licensing point of view, what actually is the difference between FOSS and SAMS?
This is pretty broad, actually, which is why I broke it down into roles that people might have in the post.
Instead of talking about generic roles, I'll give a concrete example and include the types of ways people might approach it. Sorry for the long post.
I'm building a GitHub-in-a-box VCS called Yar; it will be a VCS, but it will also include an issue tracker, a wiki, a forum, and ways to host it for others. Think something like the Fossil VCS meets GitLab.
Let's say it's done, and I have licensed it under a noncommercial SAMS license.
You find my VCS, and you're curious.
You start as an end user, downloading the source, building it, making a test repo, and generally just experimenting. The license encourages you to do this.
It turns out that you love Yar! (This is probably the most unlikely part of the story, lol.) You find out how to convert your Git repos to Yar repos, do the conversion, and you're still happy. So you decide that all your development will be in Yar.
Unfortunately, you now need to have somewhere to host the server part of Yar so that your code is accessible over the Internet. As the author, I provide hosting, which is free for SAMS projects but paid for proprietary.
Because you have proprietary code, you would have to pay. However, you know from your experimentation that Yar is easy to use, so you experiment again and see how easy it is to set up an instance on the server where your website.
Turns out, it's easy! You don't even need root!
So now you have code hosting for free.
Under the license, this is entirely allowed! And encouraged. You are an end user still. It doesn't matter that your use of it is for commercial code; you are not providing Yar for others' use.
Let's say that you are not quite happy with Yar's CI/CD because it doesn't use YAML, and you absolutely must have YAML. So you modify the code to translate YAML into what Yar understands, and Yar now can use YAML as an option.
There's another end user, Eric, who is like you; he loves Yar but wants YAML. You give him a free copy of your modified Yar source for him to use elsewhere and even host himself. This is allowed and encouraged.
Now, say we have another user, Cameron, who has proprietary code too. He happens to be a customer of your proprietary code. He uses Yar too, but he doesn't like my prices. He asks if he can host his proprietary code on your Yar instance.
This is the moment you could become a dealer and break Yar's license. It doesn't matter if Cameron pays you or not; you will have "redistributed" (loosely) the code to him by providing the service.
Well, let's say you ask me if you can, and I tell you this. I also tell you that I'll let you have a different license for a fee that would allow you to host Cameron's code.
Let's say you decide to pay the fee if I let you have paying customers. We haggle, come to an agreement. (I want users to have hosting choice too!)
So you can host Cameron's code, and you can now do it with or without pay. Can you still distribute your YAML modifications to other end users without pay? Yes! Can you provide your instance for pay to other end users, even the YAML modifications? Yes, because you paid for a license that included that! Would you have been able to provide your instance for pay, with or without the modifications, if you didn't pay? No, you would not.
In essence, when you are acting as an end user, you can share, modify, and share modifications. You can host it for yourself.
One thing you cannot do is provide it as a service to others. You also can't make them pay for your modifications because that's commercial too.
I still don't understand, I'm afraid. What I'm confused about is what the tangible difference between OSS and SAMS is. It seems to me that everything in your example could be done with an appropriate OSS license.
What is the unique thing that SAMS is bringing into play? Is it just another OSS license variant? If so, that would be the answer to my question. :)
The tangible difference is the "noncommercial" part, where if you offer your instance for pay, that would be violating the license.
The Open Source Definition includes this:
> 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.
(Emphasis added.)
People interpret that as meaning that Open Source cannot restrict a business from using it for any purpose, including making money.
This also comes from Freedom 0 of the Four Freedoms, where the software may be used "for any purpose."
So if I put out a license that only allows noncommercial use, people say (and probably rightly) that it is not an Open Source license.
SAMS is different from FOSS because it accepts a noncommercial license under its umbrella when FOSS does not.
> It is not bad but it is not open source and is closer to proprietary software. Even Windows is source an available with the proper NDAs.
Claiming that it is closer to proprietary software when users still get the source and the same freedoms as FOSS is disingenuous.
> And it does remove a freedom from the user, that of paying someone else to host and run the software on their behalf.
No, they can pay the authors. And we are talking about control, not freedom. I make that very explicit in the post.
And the claim that paying someone else besides author is a user choice has nothing to do with the discussion about user control over their own devices.
Sure, it may take an economic choice away from users, but it does not remove their control. And to be frank, if users were going to choose cannibals, then I don't feel bad for them. My warning in the post applies to users too.
And nothing stops the authors from offering a different license to wannabe cannibals for money if they hold all of the copyright.
The thing is, information leaks. You can go and read the Windows source code, if you want to, you just would get busted if you actually use it to build your own Windows or something.
Likewise source code is a shared a lot in my experience, i.e. the important software that's closed but has the important customer, the important customer gets the access when they ask for it. This depends on who you are and what you sell, of course.
So in practice, the difference isn't that huge.
That said, you are right too, THERE IS a difference. And it's better than entirely closed source.
So I will prefer the source-available over completely-closed-source, but I'm not going to be grateful about it.
And then there's realities, if I'm writing business critical software that my life depends on, I'll make it closed source in all likelihood. I'm not Stallman.
So I don't blame anyone for caring about their interests, it's entirely fair.
Ultimately, I think we disagree on the essence of the issue and many consider the 'almost enough' option to be worse than 'enough' which is the crust of this issue.
That said, I respect your opinion -- I've seen your comments on the thread and I see where you are coming from.
> Not bad, not closed source, but not FOSS. Although I don't believe you quite meant it like that based upon the essay.
Oh, I did.
But my point in the essay is that FOSS can actually be bad for end users because companies can make a lot of it proprietary. Actually proprietary. And they do.
This is worse for users than copyleft SAMS.
The people who keep claiming that SAMS gives less control to end users are dealers.
I think the main benefit is community involvement in submitting bugs, contributing changes, writing docs, and being part of the project. Even if contributors do the main work, this long tail of user contribution is so important.
With source available, I’m not contributing any of my work toward a proprietary project. I’m happy to spend hours researching and writing up a bug if my work goes toward a common good. Not so much if it just funds some corporation with free labor.
I think it’s a distraction to try to force this into a good/bad dichotomy. I don’t hear anyone saying that “source available” is bad. Just that it’s different than FOSS. There’s nothing wrong with selling software. I just think it’s inferior to FOSS for producing high quality software.