I think we need to zoom out more, even. The focus on freedom is too narrow - freedom at the cost of becoming disconnected is a raw deal.
What we want is power. In the desktop era, having source code gave us power, so we associated the two and demanded the former - but this obviously hasn't translated to the cloud.
You can't download a Facebook profile and then re-upload it somewhere else and still be connected to all your friends etc. That lock-in gives Facebook power over its users: proportional to how much they need what Facebook gatekeeps (e.g. "all the news about my grandkids is on there").
When I want to stop using something, but I can't, that's power someone holds over me. In my case, that's Google search, GMail, and Android. I actually hate the latter two, and I've tried leaving them all, but here I am. What they've got in common is that they're all protective layers over what I need to stay connected to the outside world despite being highly dysfunctional (i.e. discoverability on the web, email spam, and phone hardware).
Because of this, Google's got me in a way that - because of open source - Microsoft never could. Whatever comes after open source needs to address that power delta directly. We need choice, but also connection.
I think we need more resolution when discussing that part, too.
To me, the main difference between Free Software and Open Source camps is whose freedom they're fighting for. Free Software was always primarily about the freedom of the end users, while Open Source was about the freedom of the developer. That's why OS developers prefer permissive licenses - it's about granting themselves more power, making their lives easier. Free Software requires an ideology buy-in because if you advocate for more software being GPLed, you're making your life as a developer more difficult - you're really fighting for the freedom for your users.
Ironically, and in complete opposition to the author of the discussed article, I used to be strongly in OS camp when I first started programming. I had dreams of selling games, and dealing with GPL dependencies was annoying. But over the years, I learned to appreciate the insight of FSF and pretty much prophetic writings of Stallman, and now I find my beliefs being increasingly aligned with those of FSF. Open Source of today is a paradise for developers, but it mostly serves companies that abuse the end users.
>> When I want to stop using something, but I can't, that's power someone holds over me.
To take that power back means you have to do things yourself, and that means manage your own data. Unfortunately that is too much to ask of the general public, at least with the free tools available today.
People are trading power for convenience, in part because most people don't have the power (know-how and/or time) in the first place.
I don't think it's too much to ask of the general public.
Think of WordPress -- free software you can either run yourself or pay a company to run for you. If you don't like a particular hosting company, you can click a button to export your data, and upload it with a new host -- or with other software that understands the WordPress export format. All of this data handling is manageable by most non-technical people. The process is hardly any different than downloading an email attachment and sending it to someone else, or uploading it somewhere.
It seems to me the biggest problem is either data not being exportable from these services, or the exported data not being machine-readable. If the format is machine-readable, developers can create alternative software that works with it; managed services can then develop around that software; everyday consumers can eventually end up with more choice, freedom, and power.
This problem is potentially solvable by creating better tools that allow people to have control over their data and still gain the benefits and convenience of the closed functionality on offer today.
Or perhaps the solution, at least in some cases, is at the protocol / standards level -- email is my favorite example of this.
The question is, in the general case, whether development of the tools that are designed to give users all of the power can keep up with that of closed tools managed by for-profit companies? It seems difficult to compete with products that are produced by the likes of FAANG.
Important clarification: this is not about profit vs not-for-profit. It's about control, flexibility, and lock-in.
I agree that, to really think about this problem, you need to keep zooming out. But I also know that programmers tend to reach for abstractions quite often, and you can go up and up and up that chain. I was trying to stay at this one specific level, and not zoom out too far :) Thanks for a great comment.
Not at all! That’s why these kinds of spaces to exist, to expand on the ideas presented in the link. And my goal here is to facilitate more conversion, so this is exactly what I wanted :)
What you really want is data formats and import/export functions across applications.
We've been over this with Microsoft Word making its format difficult to convert - stifling competition.
All these internet giants don't even have a file format for you to try and convert! Brilliant on their part.
Once you have your friend-list and stuff-you-posted as json, go ahead and switch to a different application - it'll be a 2 click import and you're set.
Regarding search and gmail - I fail to see how they have any hold over you, just use duckduckgo and one of the many other email service providers.
The "distributed web/internet" is probably going to be part of the answer, but that ultimately hits up against the ISP and data transport layer.
Part of that can be (in theory) worked around via free "mesh networking" - but that too runs into the ISP (well, backbone) for long-haul traffic.
That could be (in theory) worked around at a country level; I could imagine very wealthy people supporting such open and free mesh networking, and providing free long haul transport networking in some manner. That's probably all a fantasy though - the reality is that there aren't any good solutions for mesh networking between distant points at the moment (hmm - with enough nodes, vehicle-to-vehicle mesh could be a possibility).
The implementation of Multicasting (it's in GNUnet roadmap) can quickly make the mesh more efficient. In cities, wifi devices can start working together and manage bandwidth in a better way. Then a program can signal that, for example, 4 different wifis with GNUnet cover the same physical location. Somebody (network analyst hobbyist) could write to them and offer them to get a communal wifi that uses GNUnet superior performance while saving a lot on ISP services.
ISPs in many countries by law don't have the power to exclude things they don't like and competition prevents other abuses. If there are no laws like that in your country and not enough competition, you can zoom out to the problem of capitalism with incentives to gain monopoly and capture regulatory agencies. With such problem mesh networks are going to be monopolized in exactly the same way, because somebody has to maintain them to make it work well and with enough usefulness people would rather pay a subscription fee for a working service than rely on unreliable volunteers, and capitalists would rather buy everyone who offers the service early on than let competitive market happen and we are back to square one.
What I'm trying to say is that if mesh network is a solution, you have a much bigger problem than you realize.
It's a different mechanism with the same outcome. If the scale of a solution is so immense that only one or two of the largest corporations in the world can realisitically implement it, then you've got a duopoly and all the bad power imbalances that come with it.
Which is part of why I think freedom is the wrong goal. You're free to choose between Kodos and Kang, but the ability to choose conveys no power.
I think you're seriously overrating Google Search. Try DuckDuckGo or Startpage.com. They give you at least the exact same results as Google, and in many cases actually better, more up-to-date, or more fitting/filtered ones (except that Google image search seems consistently better, however). After all, these crawl the same web that Google is crawling, and there just isn't that much really new stuff out there these days.
Don't get me wrong -- I'm a big fan of DDG. It is my default search engine everywhere, and I go so far as to actively delete Google wherever I can.
But no, it's not the same. DDG uses Google on the backend, to populate their data. And that means there is a time delay between when Google gets the data and when DDG gets the data.
And sometimes you do want the personalization that Google brings to the table, to help you find the answers you're looking for faster. Precisely because DDG doesn't have much information about you, that means their search function won't be able to be as personalized.
DDG is fine as a primary default search engine, but as it stands, you still need to have Google around to provide the data and to provide a backup search engine in case DDG doesn't cut the mustard.
I don't believe you're correct. DDG doesn't use Google Search, and Google wouldn't be ok with them doing that - it only has an option to redirect to Google Search using !g. I have numerous cases where Google Search lately just doesn't cut it, and DDG's results are actually better and more up-to-date. Whereas with Startpage.com, you at least get actual results, rather than useless "108912398 matches retrieved in 0.000001 ms" type crap results for shovelling ads in your face.
For important recherche-type searches, I always perform an additional Google Search, but then again, the links Google gives you are personalized results which gets in the way of neutral recherche.
This is related to my comment on the Iron Cage article.
I think that public decentralized protocols and platforms can provide a base level of holism without being controlled by individual monopoly technology companies.
I recently wrote a piece of software and wanted to make it open source. GitHub's helpful dropdown of license choices gave me more pause than I expected as I struggled to choose between MIT and GPL.
"I definitely want someone to be able to modify, fork, and publish better versions of this code. Do I also want them to be able to commercially license their derivatives?"
On one hand, this code was contributed to the public commons and it'd be sleazy for Amazon to come along, improve it, and license it. It seems unfair, and the spectre of giving free labor to innovation-killing, rich entities discourages me from contributing. A GPL license takes care of that concern, and provides a much-needed codification of fairness.
On the other hand, giving people an MIT license and saying "You can do whatever you want! Go nuts! Innovate!" is a boon to creativity. If some startup took my weekend project and made $1 billion off of it, good for them! That's the innovation that open-source is meant to encourage!
When the article mentioned that coders are confused, it hit the nail on the head. We're confused individually and collectively; emotionally and conceptually; theoretically and concretely.
We're looking for a simple answer to the question "Which option do I select from the GitHub license dropdown so I can get back to making value" when there's no simple answer to be found.
Its a boon for one generation of creatives, but then the buck stops there and you are right back to proprietary everything no creativity left for the masses such as on mobile platforms. Copyleft guarantees creativity for all who touch the software, not just the first developer to commercialize it.
> good for them!
Made this comment[1] that Steve even replied to a week ago, and imagine that whole discussion thread inspired this blog post, but its not really just "good for them".
> looking for a simple answer to the question
And have spent going on forty years at it, because there is no simple answer to escape the externalities of writing code. Either nobody uses your code and it doesn't matter, or somebody uses your code and it does matter. What you write, how you license it, how you distribute and produce it, will all matter if it gets used.
The fallacy is that the permissive community wants to see it used at any cost. To make the code matter, even if it has a negative impact - on the developer ecosystem, on the ecosystem it works in, or on society at large. But at the end of the day, FAANG is entirely built on top of both free and open source software, they represent combined the greatest concentration of wealth in the history of the free world, and you can't stay naive enough to think the code you give away is simply "so people will use it" as the be all and end all forever.
> imagine that whole discussion thread inspired this blog post
It's part of it! The original genesis of these ideas was a comment I made on HN back in 2017. It took me a while to sort out some of my thinking here, and that post was me trying to set up this one, and that conversation certainly played a part.
My solution is to start of with GPLv3, then I can always relax it later if needed. If your project takes a lot of external contributions, you can always require that the contributions be licensed under a less restrictive license in case you need to relicense later.
The other thing is you can grant exceptions to people if they have an unanticipated need (i.e., mixing your code with other free software code with incompatible licenses).
For that solution to work, you need to be extra cautious about ownership.
If you are the sole contributor, no issue there.
But if you start receiving contributions from outside (Pull Requests on Github for example), then part of the code is owned by the external contributor.
It means that if you want to change the license, either you made the external contributors sign some (digital) papers stating they give away ownership of their contributions, or you chase down each individual contributors and manage to make them agree to the license change, or you remove any code from external contributors.
The first is doable but is a bit of of barrier to external contributions, the middle one can work on a small project with few external contributors, but is a bit risky (the external contributor can say no, or more likely be difficult to contact), the later is somewhat impractical.
Changing the license of a project is not impossible, but it can be somewhat of a nightmare, specially if there is a lot of external contributors.
Isn't a Creative-Commons-style license good for that? You could choose attribution-sharealike-noncommercial or something like that and be done with it.
I'm unfortunately even more conflicted than that. I can't answer the question "If someone wants to take my crummy code and commercialize it, am I okay with that?"
If it's a kid in his basement with an amazing idea, absolutely. I'll watch them ring the closing bell at the NASDAQ from my couch and feel nothing but pride.
If it's Google or Amazon... maybe still yes, but less so? It'd depend on my subjective perception of the net benefits to societal innovation, which is 1) more wishy-washy-subjective than I'm comfortable with, and 2) seems like it would make for a really bad license: "MIT-Unless-I-Dont-Like-You"
You should probably just retain those rights then and encourage people to contact you for permission to use it commercially under a more specific license. No harm in mentioning that you'll probably allow people to use your work if they aren't in a position to pay for it or working for someone you don't like.
"We recommend against using Creative Commons licenses for software. Instead, we strongly encourage you to use one of the very good software licenses which are already available."
I've looked around before, but I couldn't find anything like this (other than DIY-style licenses that may or may not have sufficient legalese to be enforceable)
> On the other hand, giving people an MIT license and saying "You can do whatever you want! Go nuts! Innovate!" is a boon to creativity. If some startup took my weekend project and made $1 billion off of it, good for them! That's the innovation that open-source is meant to encourage!
How does attribution-sharealike-noncommercial fit this case?
It sounds like he doesn't mind if some people (small startups) make money using his project, he just doesn't want anyone (large companies) to be able to.
1) Sometimes it is hard to tell, if an entity is regarded to be commercial or not. Is a hacker, who receives ad-money and donations a commercial entity? What about a university? It's unclear and therefore many won't touch your code.
2) The license may not be fully compatible with, MIT, BSD, Apache, etc license which also hinders integration.
Anyway, I would also welcome a license opening up your code for hackers and non-profits alike... Maybe someone knows?
In response to the first quote "Today’s developers have never learned about this history" I agree. I would love to see more CS history classes. I know that star schema were a thing, and hierarchical databases were a thing, but I know nothing about them. I don't know what their failings were that led to dominance of RBDMSes. I'm very curious to know how similar they were to mongo or other current schemaless databases. There are also probably many old ideas that would be practical now, neural networks definitely fall into this category.
> Strongly agreed. Exposure to a History & Philosophy of Software course might reduce the amount of wheel reinvention that plagues our industry.
I agree that wheel reinvention is an issue that needs addressing but not to the extent as you describe (a "plague").
I also believe this comment misunderstands why it happens. As it stands today, it is a feature, not a bug. You don't see reinvention a lot in traditional engineering disciplines because you have something concrete and functional that takes years of research and hours of construction. Any hacker with a laptop can pick up a language and start building stuff. This ease of access is what creates the "wheel reinvention" situation, that and an endless amount of choices and a limited amount of discoverability of what is out there. Exposure to history and philosophy of software would do nothing to address that.
Finally, reinvention is seen as virtue in this industry, not a plague. To some degree, I agree: software is never complete. And even if you think so, the software built underneath your software may change, thus changing your software. Some level of reinvention may come with new considerations that were not considerations of the past.
It would be nice to see something like that. I'm not sure it will happen.
Our human society in general - for some reason - has deemed that the history of "computation" - or however you want to put it...isn't important.
Think about how many automobile museums there are in the world - or google it, whatever. Both public and private. You probably have several where you live - especially if you live in the United States (less so in Europe, even less elsewhere).
Or museums about aircraft and aerospace - another technology that has fundamentally changed human society.
Then compare those to the number of "computer history" museums.
Despite the known fact that the computer has fundamentally changed our society in ways that are still not completely clear, and ongoing - we have done so little to preserve that history.
Software is a large part of that as well...we have systematically destroyed, or have left to "bitrot" because "proprietary software" in some back room (or worse, in an unknown location because a company went out of business, or was purchased and re-purchased, etc).
For instance - there are several Cray supercomputers out there - in private ownership and in museums - but have you ever tried to find the OS software or documentation in order to actually make one run? I'm not going to say it's impossible to find, but I wouldn't call it easy, either (a great resource for info on these old machines and software is the bitsavers archive).
We ignore this history at our peril; there are numerous cases on both the hardware and software side of things of "reinventing the wheel" because this history isn't widely known or understood. In some cases, it's not even avoidable because the information that would prevent it is either not easily or widely available - or is non-existant period! In other cases, it may be available, but it just isn't widely known about or taught.
I don't see this changing any time soon, unfortunately...
Very clever and well put. I have to let this one stew.
That said, still in the camp of "nothing is wrong," I think. It is a tough pill to swallow that companies that build around open source software are fundamentally vulnerable, but perhaps it's time to swallow. Open Source has never been healthier even ignoring those contributions.
If X manages to corner Y into a proprietary license, does open source win or lose? I won't name names but I used to use a project that went open core and the "open core" part of it became gradually more useless over time to the point where many users just switched off. I think what needs to be established is that what's good for companies trying to monetize OSS is not good for OSS.
There's plenty of other models for OSS that work. I'm fond of Patreon as a new monetization model, for example. Won't exactly get you rich, but if that's ever the point of OSS, then it really is dead.
We probably won't live in a future where everything is OSS, but we live in a present with an amazing amount of excellent OSS and I'm willing to take that personally.
I think the certification idea is interesting, but I definitely need to think about it a lot more. While I personally don't mind where OSS is, I also would not mind new movements, either.
I didn't really get into what aspects of production that developers are thinking about today in the post, because I didn't think it was necessary to make my point. My point is to get some people thinking about this, not decree exactly what I think the issue is.
I do think that open source is working. The question is more of, who is it working for, and why? Could it be made to work for more people? Is it working in the way we want it to work?
For example, your comment is framed about the health of Open Source itself. I see a lot more developers concerned about the health (in many senses) of the developers who are working on open source, over the health of the idea of open source in and of itself. They're also concerned about corporate control (in a steering sense more than a "total control" sense) over open source and platforms that are open source.
Can today's open source sustain itself? Sure, probably. Lots of things that are not fundamentally sustainable manage to last for quite a while. But I do think people are wanting something better, even if they're not totally sure what that is or how to get it. I mean, I don't fully know either :)
Fair point: open source isn't really my day job. But, I do ask, what qualifies as an open source developer? I definitely work on open source, even if it's not my primary work. If you only count people who work for OSS companies specifically... Isn't that a bit selection-bias-y?
Certification isn't going to work for the very reasons Klabnik revealed in this same post.
> Even if you are the kind of person who thinks boycotts work, there just aren’t enough free software diehards to form a large enough boycott. And even then, you’d want to do the boycott together, simultaneously, to send the message.
A licensing regime is the only way I know to _prevent_ someone else from taking your software and doing whatever they want with it. So without a licensing regime, they'd do that, it just wouldn't be certified.
The whole idea of certification relies on enough people insisting on using certified software. And I think the same reasons that didn't work, as Klabnik explained, for Libre vs OSI, it's not going to work for certification. In the end, people will use whatever is cheapest/easiest (and legal, or perceived-to-be-low-risk-for-them illegal) regardless.
I do see the issue's he's talking about and think they are real. I don't see any solutions. (I also think he conveniently avoided one of the reasons we're seeing license/open source splintering -- because of attempts to find ways to _make a profit_ off open source. See the Amazon/ElasticSearch dispute. This is a real thing going on in the landscape he's talking about, with maybe more impact than the ideological concerns he talks about, but is inconvenient for what he wants to talk about. I still have no solutions to it.)
> (I also think he conveniently avoided one of the reasons we're seeing license/open source splintering -- because of attempts to find ways to _make a profit_ off open source. See the Amazon/ElasticSearch dispute. This is a real thing going on in the landscape he's talking about, with maybe more impact than the ideological concerns he talks about, but is inconvenient for what he wants to talk about. I still have no solutions to it.)
Yep, I didn't want to get into the details of what people are caring about here, because I don't think it's necessary to make the broader point. And I also mostly want to get people thinking about this, and priming them on specific things isn't as useful as just providing broad strokes.
I do think that the relationship between capital and labor is a huge aspect here, along with the cycle of "thick client, thin client, thick client" that we currently see with the move to the cloud. As you say, those are other essays :)
Right on. I think it's probably as much of what's going on with open source as ideology (including beliefs about 'fairness') though. (Or maybe I'm just a Marxist who thinks material conditions usually are primary to ideology :) ).
There were ways people made a living while producing libre/open source for the last 30ish years, that also produced quality, useful, sustainable software.
I think those ways have broken down, and no longer do that. I could get into the details of what I think those ways were and why they have broken down (I tried to in an HN comment on one of the posts on ElasticSearch, the comment replies did not express consensus with me :) But it includes that the software we want now is 'more expensive' to produce, as well as increased 'rationality' from employers of developers). But regardless of the details, I think things like the ElasticSearch thing (there are many more examples; the whole variety of "open core" software) suggest it's probably happening.
I think that's probably more fundamental to the splits around open source than ideological predilections or beliefs about "fairness", in that any solutions or succesful evolutions of "how open source-ish is done" will have to take account of them, not just ideological predilections. Will have to provide an ecology/economy where people can make a living while producing quality useful sustainable "open source-ish" one way or another. I see no clear solutions regardless.
The point about what is in the right spirit is important to discuss, however,
there's also a lot wrong in this article. The thing that bugs me the
most is misrepresenting FSF.
2. I don't think that fsfe press release "supports expanding
copyright".
3. "The FSF didn’t move to GitHub because GitHub is proprietary, and
they see that as inconsistent with their values." Thats not correct. For
starters, see https://www.gnu.org/software/repo-criteria.en.html
4. "If a company were to add a proprietary feature to an open source
project, yet pays five employees to develop the open source part
further, the FSF sees this as a tragedy." Wrong. First, FSF accepts
donations from proprietary software companies, so it's participating in
in a tragedy? FSF does not say things like: "The FSF believe because
your born, you're going to use nonfree software, which is bad, so being
born is a tragedy."
You know, sometimes I wonder if this whole conversation really isn't just meant for developers. I ask myself what is the sentiment across the larger population and realise no one really cares. They love free beers. They'd do anything not to pay 0.99 for an app, seeing that as an incredible amount of money to pay for something they expect nowadays to be free. There's a lot to unpack here and I don't think I am in the right mind state to do it now. Good piece!!
I didn't get into it, but I do think that the user/developer distinction plays a part here. That is, one way to think about the Free Software/Open Source divide is that copyleft ensures freedoms for users at the expense of restricting developers, and permissive licenses ensure freedoms for developers at the expense of restricting users. As developers gained some power, we directed it towards helping ourselves.
I don't think that's the whole story, exactly, but I think it's an interesting way to think about it.
Historically one of the controversies/confusions regarding the FSF’s ideology is that it ignores the distinction between developers and users. In the ur-hacker world RMS wanted to preserve, the users are developers. That’s why the right to make a derivative work is paramount (a freedom no non-developer can take advantage of), and why libre software is strongly skewed toward developer tools rather than viable “end-user” software applications.
Traditionally the FSF advocate will say something here about end users hiring developers to modify software for them, but in reality that’s economically ridiculous.
> That’s why the right to make a derivative work is paramount (a freedom no non-developer can take advantage of)
Non-developers take advantage of it by hiring a developer; it's essentially the right to take your software to be serviced by someone other than the seller.
> Traditionally the FSF advocate will say something here about end users hiring developers to modify software for them, but in reality that’s economically ridiculous.
It's perhaps ridiculous for non-wealthy individual end-users for software that isn't integral to a profit-making business, but it's quite common for major open source projects to see most of their contributions being from institutional end-users who have hired developers to address their own needs with the software.
If you define “end user” as “institution with enough profit to hire a developer”, then yes, it’s a tautology that they can hire a developer. But that’s a minuscule fraction of end users. The person who buys Quickbooks off the shelf at Office Max isn’t hiring any developers.
> Traditionally the FSF advocate will say something here about end users hiring developers to modify software for them, but in reality that’s economically ridiculous.
As a way to judge end user software budgets, commercial software that costs more than a few hundred dollars is considered “expensive”. That would pay for less than a day of work by a software developer to make modifications to software. The only economical way to support end users is to amortize that cost over many end users, by hiring developers into a central development organization.
Sure, for the far right of the bell curve, the “end users” who are owners of medium-sized businesses, it becomes viable. But I’m talking about the end users who buy Microsoft Office Home Edition.
FSF has always been about the users. And that has always been controversial among developers. I remember talking to my brother about it around 1999.
The basic premise is relatively simple - with no insight in something very complex, you're at the mercy of the creators of that complexity.
Doesn't that sounds nice, as a developer? It's a power struggle, really.
Regarding certification: I think you have this situation backwards. Developers will easily see through and gravitate to the project that's more friendly and open. The very examples you mention - people see through that and the companies end up getting negative PR in developer circles, despite releasing the code.
Those who have a problem in this game is again the users - they don't understand what's going on, but they might have lost a great deal of the power that the open source was supposed to give back to them, it's locked in behind the wall that the code is thrown over.
> That is, one way to think about the Free Software/Open Source divide is that copyleft ensures freedoms for users at the expense of restricting developers, and permissive licenses ensure freedoms for developers at the expense of restricting users.
I think there are two errors there: one is conflating the Free Software / Open Source divide (which is less about licenses and more about consequentialist vs. deontological justification for desire for licenses with particular features) with the copyleft/permissive divide, and the other is conflating direct licensees with “developers” and indirect downstream licensees with “users”. (It's true that the GPLv3 contains specific protection for certain users qua users via the anti-TiVoization provisions, but that's not true of copyleft licenses generally.)
Yes, while I think it's interesting, I don't think it's fully accurate. Thanks for the good points. I agree with you especially on consequentialism vs dentology; I've been wondering if I shouldn't write another version of this blog post that's a bit more heavy on the philosophy and jargon...
"Open process" might be a good term for everything else that goes into producing open-source software.
Free software is not about licenses; they're a very limited means to an end. If we didn't have copyright, some other means would be needed.
For freedom to spread, free software has to become faster, prettier, more convenient, and more intuitive than proprietary software. I would go further than this and say that the distinction between developers and users has to become fuzzier, so that anyone can edit software without needing to be a "developer".
Sadly, developers love their arcane tools because it makes them feel elite. And the FSF / GNU project participates in this elitism by continuing to promote such arcane tools. Software like GNU Emacs only meets the absolute bare minimum of "free software"; it empowers hackers but it doesn't empower the general public.
The next movement, whatever it will be called, needs to embrace open source licensing, and open process, and end user empowerment.
For me, FLOSS is mainly about the users, less about the projects themselves. I care more about the product, the piece of software that you can download, use and modify in any fashion you want.
Most users of any popular piece of libre software don't contribute back, whether it's bug reports or patches. Even if it's targeted at developers, most don't do it. There is certainly value in community practices that encourage productivity and make it easy for individuals to get into. But they are only means to an end, it's not the end itself. For me, users should be at the center, not the developers.
What I liked about Linux was that it was better while being cheaper, in fact free of charge. Higher quality yet less money. It sounded too good to be true.
Did I even care that the source code was visible? I have yet to contribute a patch to any of my favorite projects: Linux, Apache, PostgreSQL. A big reason is that I don't even know C or C++. But yes, come to think of it, the source-code publicity gives me comfort. At least some people are out there checking for bugs, backdoors, etc. (Right?)
Copyleft always struck me as a little weird. This article has helped me realize why. Copyleft is still based on the idea of intellectual property, and I don't believe in intellectual property. If we translate the phrase from its Latinate words to Old English, its meaning, as usual, becomes clearer: thought ownership.
In my own little projects on Github, I usually ended up going with Public Domain. It accomplishes what I want: that I and others can keep using what I wrote free of charge, that it can remain visible forever so that others might learn from and build upon it. I don't really care if a company wraps it in their little package and never lets anyone know. Also, being prior art, it should prevent someone from getting a patent on it.
If I understand the thesis of the article correctly, the idea is that most developers actually care about open source production, meanwhile open source licenses are only capable of restricting distribution?
The example given is GitHub versus open source bug trackers. You didn't come out and say this directly Steve, but isn't this basically flirting with the conclusion that developers tend to prefer proprietary platforms? You mentioned that the numbers speak for themselves, and you personally shifted your ideology from the Free Software Movement.
Couple this with the rise of SaaS as a business model, and it seems like a lot of the tension here is related to the way that proprietary platforms focus on production, while licenses themselves focus on distribution.
Roughly, yes. Or, with slightly more nuance, open source has been synonymous with "uses an open source licence", but semantically, developers are understanding open source to be a more holistic idea of openness, rather than purely a software license strategy. And the licence can't possible ensure that the rest of those ideas are followed.
FYI I edited my comment since you replied, I wasn't done with my train of thought yet :)
Seems like I'm on the same page with you then. I don't really see a way to codify all of the peripheral open source associations in a legal document. A lot of it is very...ad hoc.
It's cool! Let me respond here, rather than edit my response :)
> but isn't this basically flirting with the conclusion that developers tend to prefer proprietary platforms?
I don't think they prefer proprietary platforms, I think they prefer good platforms, and will put that desire over "is it open source or not." But, I think you also can't split that by "platform", that is, in some areas, the open source aspect wins out. There are also hybrid platforms, with some open-ness, some close-ness. I think ultimately my point is "most developers are not free software absolutists."
Just a sidenote Steve - I met you briefly at a rails event in Berlin about 6 years ago and you were inspirational. Love the fact that you're a super humble guy working your pants off for the community.
Super busy right now (yes I shouldn't be on hacker new right now but you know how it goes :) but I'm going to have a proper look at your article as soon as I get a bit of time. Its sure to be insightfull.
"but what people care about most today is about the production of software. Software licences regulate distribution, but cannot regulate production. (technically they can, but practically, they can’t. I get into this below.)"
Interestingly, I did not see the part where he really gets into this. Speaking of history, I think one thing is forgotten here: before open source, how did you produce software?? By buying closed source software, of course! So, this is the catch-22. You claim they care about the production of software, but without open source tools, you would then be at the mercy of closed source systems in order to build your software. I am not saying it is bad, but I would have never really gotten into software without GNU... Turbo-C from Mix software was cheap, but the others were too far out of reach. One day I woke up and the tools were too expensive. I don't think we want to go back there... to the same place our phones are in now.
You are probably correct in this assessment; it's something I've thought about, as in "Why do so many developers hate the GPL, and prefer things like the MIT license and others?"
I think - I'm not sure - that developers have "forgotten" that they are users, too.
It's probably also an age-related thing. There's a large group of developers who don't remember - they weren't even born yet! - how software used to be in the 1970s and 80s. How everything was extremely proprietary - and costly to purchase. Heck, just a simple C compiler could set you back hundreds or thousands of dollars (and we're talking dollars back then - not today's).
They also don't know or remember times of a company going under, and taking the support of that proprietary software with them, and the mad (and expensive) scramble to find something else, depending on what the software was for. They never experienced Borland going under, as developers (or any number of other development tools companies for that matter - Lattice C, anyone?). Or the number of companies that supplied software to businesses going under, or being acquired (usually by CA or IBM - with varying levels of "continued support").
They forgot - or never understood - why Stallman created the FSF and the GPL in the first place. Recent events, and probably future ones unfortunately, will likely make them recall their history, hopefully.
Me, personally, as a developer, always liked the GPL. It isn't great for a business; it makes it difficult to sell such software, because you have to provide the source code - but from a developer perspective, I've always looked at it as the currency being paid as being the source code.
In other words, by using the GPL for my code, I'm saying "if you use my code, and develop something, and distribute it - I want to be paid". Other licenses, they don't have to do anything - not even a mention in some cases (outside of the BSD - which they can then easily bury elsewhere). But with the GPL - they do have to pay you, as the developer, something in return: They have to pay you with source code.
Source code won't feed you. It won't keep the lights on, or a roof over your head. However, as a software developer, being paid in source code is valuable. It means that (in theory) my code can be made more useful for others, that those additions and changes can live on, and that the product - in theory - won't go away if or when I go away, or the company I am a part of goes away. The code - and the product it is - will remain available. The legacy of it can remain. It won't be buried.
To me, that's valuable - in some ways, more so than cash. Maybe because source code is what we make; it's our legacy - the artifact and mark we leave behind. In a way, it's our art. We want it to continue to exist, for people to look at it and hopefully enjoy it, to know who created it.
With both licensing (and to an extent, DRM, which is related) getting in the way - it is possible to erase this legacy from the society.
To end this - I've found great pleasure in unearthing very old code from various places and "things" on the internet; most of the time, it's been a private endeavor, but at some point I want to get the code back out for general use (that is, I want the code to live on). In some cases, I've found this code in weird scanned research papers from the 1960s and 70s, dealing with strange subjects (for instance, I found some stuff on 3D programming in BASIC in a set of papers by someone at the USGS in the 1970s). Technically, the code isn't "open source" (I'm not sure what it is, since it was paid with tax dollars - probably not public domain, but I don't know) - but I think the author and their code should be recognized, as a contribution to the history of computing.
An excellent essay that puts to words something I've been feeling of for a long time. Particularly:
"following the letter, but not the spirit,"
I'm unhappy with the GPL because companies do the bare minimum to comply, and sometimes make their forks difficult to even find.
And freedom to me means freedom to have propriety forks, because either your downstream fork plans to last as long as upstream, in which case diverging from upstream makes rebasing more and more costly over time (incentivising you to minimize that divergence as that's less work/cost in terms of maintainership), or you have a very shortlived product that won't be relevant for long.
And the point about paying developers to still contribute to upstream even when downstream has propriety bits is lost in a lot of people.
Your employment situation doesn't really change the fact that you could have been affected by previous articles. The tone of your article reminds me a bit of what stuff Miguel de Icaza used to write, for example.
When it comes to verifying the process, I do think issue trackers are going to have to be included in the version control software. Off the top of my head, I can only think of fossil that does that.
https://fossil-scm.org/index.html/doc/tip/www/index.wiki
Also, thank you for writing this. It is fascinating.
>What I am saying is that refusing to use a wifi connection on your laptop because there aren’t free drivers helps basically nobody, and only harms yourself.
This is wrong. Doing this forces you to confront the deficiencies of free software, the lack of available free software, and strongly encourages you to support development of alternatives. Just like being vegan encourages the growth of a market for vegan products.
I also was strictly vegan for a while, and lost that religion too. For sort of similar reasons! I think it's too focused on the ethics of one part of the situation, and misses the whole.
The value in strictly adhering to religions like software freedom or veganism isn't so much to cause any meaningful change yourself - you are actively harming your own experiences and potential in restricting yourself in most any way dogma would limit you - but it projects to those around you an adherence to that belief that can inspire and promote the change in those you directly interact with.
This happens in all manner of things - politics, old school regular religions, intellectualism, scientific literacy, rationalism - for the ideas to spread you need prophets and priests to spread the word and adherents to project legitimacy to attract converts. But pretty much any belief system, followed dogmatically, is not for your own personal empowerment - its self sacrifice for the cause.
I agree with this, and I think that what I'm getting at here is more of "I don't believe that these actions are inspiring nor promoting that change, and so it is not effective as a tactic."
The point is that the presumed benefits of said dogma just don't seem to be there. Mostly these things concentrate around people for whom the sacrifice is relatively small and scare off everyone else with the holier than thou attitude.
The entire technology stack the modern Internet is built on exists because Stallman clung to his dogma, how's that for "presumed benefit"? Stallman isn't the world's smartest person or best programmer or even a particularly gifted organizer. His superpower is his fanaticism. And it worked.
There is ample evidence that in the absence of substantial GPL contributions (Linux kernel, KHTML, GCC, etc) there would be a much reduced substantive body of influential free code available.
Apple in 1998 definitely weighed their options between writing their own proprietary browser engine vs forking a GPL one. To this day almost all free software hardware device support is exclusively due to how second class proprietary drivers play in the Linux driver ecosystem. Before the prevalence of GCC compilers were one of the deepest and most tightly protected proprietary secrets of corporations.
And none of that would have happened with permissive licenses because it required compulsory source disclosure to force businesses to contribute back. The alternative is what we see Sony do with their Playstation OSes - they built the PS3 and PS4 OS off FreeBSD, but neither contribute code back to said projects, provide any sponsorship or support (dozens of companies do, but the one making grotesque profits by exploiting user freedom isn't), and use an open source product to cripple fully functional computers with unmodifiable proprietary operating systems.
We would absolutely be in the PS4 world in regards to almost all software if the free software movement didn't push its dogma in the 90s.
Seeking perfect wholes is more religious than identifying specific areas where practical interventions can be made.
Free Software works to protect the freedom of individuals to use software that they own. It doesn't work as a magic way of making VCs money by companies giving server-side code away for free. The former is a politics, the latter is not even a religion. But sift through all the anecdotes and repeating of old Microsoft slurs against Free Software and it is clear that it is losing that religion that is behind the current debates.
Veganism might have been a fad for you, but for others it is a necessary undertaking to remain healthy. I can't blame you for finding some choices difficult to make, but at the same time it's disheartening to see these "anti-religion" arguments brought out to dismiss the very real need of people (and companies) to be able to retain control of their own devices, for their own purposes which are not explicitly approved by the vendor.
It wasn't a fad; it was a moral commitment. I certainly agree that some people are vegan for health reasons, but health was part of why I stopped being vegan: it was harming my health. Not for any of the reasons that anti-vegans trot out, mind you, it was that I was mostly consuming vegan junk food.
My comment was focused on this moral aspect because that's the part of veganism that I was a part of and are familiar with, but I don't think that all vegans are vegans for moral reasons, nor do I think that nobody should be vegan.
> dismiss the very real need of people (and companies) to be able to retain control of their own devices
I'm not dismissing that at all, in fact, I am arguing that it doesn't actually enable you to retain control. The AGPL is an acknowledgement that the GPL does not go far enough in doing that today, and its failure to gain traction demonstrates that it's not a tactic that works for this purpose. We need new strategies and tactics.
If the moral aspect of it is really important to you then I hope you can find the path to trying again in a different capacity that doesn't compromise on your health. If not then forget I said anything.
The AGPL does have traction, just not in the places you might expect to look. I think that's a red herring anyway because it is indeed a niche license, useful specifically for free software communities where growth and development focused around a network API is happening actively and rapidly, and there is active worry that a bad actor could move in and try to take over the network. This is absolutely not the only issue threatening free software communities currently because not all of them fit that description, so I see why it is quite common for people to dismiss the AGPL. But know that it may just not be what is correct for your use case, and that for many communities a lot of other licenses are still adequate, including the non-copyleft licenses that you have mentioned are gaining a lot of traction due to their popularity within proprietary, closed-source companies.
I have heard a lot of rambling recently about "post-open source" and "post-free software" movements lately but I still think it's jumping the gun. The fact that it's still so difficult to find working libre drivers for wifi chips (and a lot of other pieces of hardware) is proof to me that we still have a lot of work to do, not a convenient excuse to dismiss things entirely and stop caring.
> It’s that the source being open is a necessary, but not sufficient, component of being open source
I would really have preferred if some other term than "open source" would have been used to refer this wider concept of openess, in this paragraph and the ones that follow. The article itself establishes that open source is all about license, and thus argues it to be insufficient for todays environment.
Any such scheme would require some objective rules for certification, not dissimilar to what OSI does with licenses really.
I doubt that a scheme that would take this sort of thing into account would be popular, for the same reasons why licenses that try to do that never became popular with the FOSS crowd.
I think the certification proposal basically comes back to licensing, if I read it right. "We'll extend you a license if you have the proper certificate." I have a hard time imagining a way of enforcing good behavior that doesn't hinge on restricting some parties' ability to use the software.
Thanks for clarifying! I think I got hung up on the part where you were saying that licenses cannot give us the kind of community we want. (Which I agree with.) In my utopian fantasies, every software project has a constitution as well as a license, defining how the project is governed, who may participate, what participation looks like, what obligations you undertake by using the software, how the constitution itself may be changed, provisions for an afterlife if the project is abandoned.
Real-world voluntary organizations like grocery co-ops have long operated on this model, and some software projects, notably Debian, actually have constitutions. The Debian model, however, doesn't place any obligations on Debian's users, doesn't even acknowledge their existence. Their specific constitution has a lot of other weaknesses in terms of its ability to generalize, but the existence of the constitution seems like a very good idea.
i don't see anyone saying the problem with OS is "developers have to eat" - i mean honestly, when did the concept of "a fair days pay for a fair days work" become anathema? Even wildly successful OS packages don't generate enough $$ for the developer to just work on it full time - i mean it's cents per user kind of levels would generate enough for a handful of full-time developers (sagemath is the one i'm thinking of specifically but all sorts of critical plumbing seems to be in the same boat).
I get in the old days that builders/users were the same people and sharing OS code made sense but those days are long gone.
you don't have a problem with licences - you have a problem with an economy that expects a major _critical_ chunk of it to work for free. well it aint me, it aint me - i aint no fortunate one, no...
The issue with Open Source and software freedom has its roots in economics.
As long as massive companies like Google, Facebook, and Apple harness pay LESS taxes than you or I and harness 99% of the economic value we're facing an uphill battle.
> Is it true that developers are rabidly anti-union?
To me it seems this way; there are pros and cons to unionizing - while there hasn't been a formal discussion, obviously, developers have seemed to have selected for "no unionizing".
I recall there being a call for a union and efforts toward this back in 1998 or thereabouts; 20 years ago roughly. It died out rather rapidly. Maybe related to the dot-com implosion, I don't know.
But...something is going to need to be done. We are rapidly either heading toward needing a union, or we'll be forced to be certified and/or licensed, much in the same way actual engineers are. Maybe a combo of those things.
We are seeing software being integrated more and more into devices and machines that can and do put people into life threatening situations. Self-driving vehicles, drive-by-wire controls, and other things - while none not actually "new" - have been failing in ways that are much more public than in the past, and has caused discussion on the idea of "who is at fault".
Companies are ultimately going to want to shift the burden from them, to their employees. I'm honestly surprised it's taken this long - and the fact that it still hasn't occurred ; I'm not sure why that is.
If your question is "why haven't software engineers unionized?" the answer may be that the average software engineer doesn't get mad enough to start a union. haha
I think I'd like a software union. Especially for fields like medical devices and those new autonomous cars. What are some of the anti-software-union arguments?
> What are some of the anti-software-union arguments?
Part of it, I believe, revolves around salary/pay levels - there is a very large gap between the lowest and highest; this isn't completely based on geographical location, though the higher pay does skew toward SV of course.
Most developers, though, are fine with this disparity - that might be a "temporarily embarrassed millionaire" problem, but for those willing to take the risks and chances, and in some cases move long distances - if they are good, they really can boost their salary quite a bit if they happen to join up with the right company, at the right time.
I think part of it also has to do with certification; would a union require it? Would we all have to get or have either a CS degree, and/or some kind of actual certification from some standards body? Who would those be? IEEE? ACM? Microsoft? Red Hat? All of the above?
What about those of us who've been doing this for 20+ years, and only have a high school diploma in some cases, yet earn 6 figures at a FAANG or such? Do we grandfather those people in, or do they find themselves out of work (maybe with a stipend from the union?) until they get their certification?
Those are just a few possible questions - maybe reasons - that could be considered "anti-union sentiment".
I think one way or the other, though, we're (as a group) are going to be forced into either a union and/or certification measures, much like professional engineers, whether we like it or not.
Probably sooner than we think, mostly due to the devices and such you mention, and their very public problems being aired. The question is only whether we'll have any real input into how it'll look, and right now, we seem to be collectively ignoring it.
What I find amazing is that it hasn't happened already; history-wise, one would have thought that the whole THERAC-25 thing would have forced it, but somehow it didn't.
I think it makes sense to start small. Engineers opt into such an org. Pay dues. A pension is setup. Some leadership is voted in to run the org based on interest and bandwidth.
The union shines when it can do collective bargaining and ensure minimum salary benefits for certain roles. Certification could be offered for very specialized roles as subject matter experts join and build a curriculum.
You've always got to remember that the whole FOSS enchilada got started when RMS wanted to fix his printer and Xerox said, "No."
- - - -
Two main reasons to touch a computer: study formal systems, create wealth.
Mathematicians learned (in the Renaissance) to share their work. So if all you want to do is study the nature of formal systems you're good to go. (I can vouch for this. You don't need money to learn (although it helps.) Personally, I was more interested in the former and only "cashed in" later in life when being a homeless scholar got old.)
If you want to produce wealth using automation, there are two main strategies: maximize wealth, extract "rent".
The latter is relatively familiar: e.g. keep the generator and sell the electricity. In computers it's the "smart phone" that (while ostensible a portable computer) functions as a kind of shopping mall and arcade: the thing is designed to get your money. (It's impressive! People line up at the Apple store to be told how much money to put in the box to make the sacred artifact work again. No wonder Apple is sitting on a huge hoard of cash.)
The former, maximize wealth, is a little more obscure. Bucky Fuller is perhaps the best exemplar of the concept. In a nutshell, we have the technology already to create a "utopian" economic reality. Everybody could have the food, shelter, medical care, etc. to live a decent life, if only we applied the technology we already have to our basic needs. We can't solve every problem through tech, but we can and should solve the problems that are in reach.
From the POV of someone trying to maximize humanity's total wealth, the Free (copyleft) licenses are a tool, as steveklabnik says:
> The FSF sees copyleft, and therefore copyright, as a legal tool to enforce software freedom.
But "software freedom" is just an obvious corollary to building the automation feedback loop to achieve economic phase transition to a post-scarcity regime.
- - - -
As for how software should be produced going forward, first, there should be a general contraction in the amount of code in the world and of the number of people writing it. The current situation is a kind of "Thundering Herd" attack on human attention and memory.
To support contraction you need a formalism (notation or language) that makes it easy. Most of the necessary research has already been accomplished. The limiting factor is uptake. I suspect that it would be a thankless task, an uphill battle, to try to get existing computer industry to adopt, so that suggests that you have to take it directly to consumers (and businesses.) Just bypass everything.
In a way, (A)GPL is the proprietary license of the community. Anything that's licensed under (A)GPL will compete with corporate interests, rather than be shared among competitors.
When you have competition, you can pick a different market or you can develop a compelling alternative. In the spirit of "Commoditize Your Complement", the corporate competition realized that the value proposition these days is not really in operating systems and toolchains anymore, so they're commodify infrastructure GPL code - with MIT/BSD on the client side, e.g. clang and Fuchsia for GCC and Linux, and GPL on the server side, e.g. Amazon adding missing features to Elasticsearch and Microsoft's supporting server-side Linux.
The libre-minded community can fight this commodification, but it's a lost battle. As more infrastructure becomes a commodity, competition for value-add needs to move up the stack. Google, Amazon and Microsoft are now competing in providing computing services. Facebook doesn't mind giving away tons of server-side frameworks, as long as they can continue to harvest our attention. Google and Apple are providing value in integration of devices, so their marketplaces continue to gain market share. So the question is, with operating systems being a lost cause, where can the community still compete?
I can think of only a few:
* Privacy: User data is part of companies' competitive advantage, so they're naturally disadvantaged in this area. Hasn't traditionally been valued highly by the masses though.
* Price: Displacing expensive competition works for professional creative software such as as Krita or Blender. Doesn't generally work for cheap, user-data-financed apps though, or for operating systems. Attempts to incentivize hardware vendors with a lack of license fees proved ineffective due to the existing popularity of proprietary alternatives and the extra attention/volume that comes with it.
* Convenience / UX: Not popping up annoying "Subscribe!!" dialogs has a certain value, although this may be neutralized by the extra attention that email subscriptions provide to companies, and by the possibilities that come with being able to promote only a single, well-integrated product by the same company.
* Interoperability: Would only be a competitive advantage if community-controlled software had a market share that's large enough to single out non-standardized solutions such as Chromecast or anything that Apple does. Generally only valued once people are already locked in and want out, so doesn't help much.
* Small scale / not profitable: Companies can't compete on stuff that they won't make money on. So far, this has been mitigated by monetizing a lack of otherwise unprofitable products via collecting user data. If the targeted market is small enough though, data-supported monetization may still not pay off while hobbyists aren't constrained by such concerns. Good starting point, but becomes less of an advantage as a project gets larger / more useful to more people. I'd include decentralization initiatives in this category, except that if we want something to be a standard protocol then there should also be open specifications and a permissively-licensed reference implementation.
* Existing technological advantage: It looks to me like Linux is pretty much the only piece of GPL software that has no available licensable alternative and can't feasibly be replaced by a well-funded upstart. (Even so, Fuchsia is coming and it won't be pretty for future hardware support of Free operating systems.)
Anything that doesn't provide a competitive advantage like one or more of the above won't be competitive with corporate software in the long run. If it can't or doesn't have to compete, whether you license it as (A)GPL doesn't matter, so it may as well be MIT/BSD in many cases. But maybe not in all cases!
Open source was such a powerful movement. In 2011, I was making six figures in a major city for a huge company. Then, I got laid off and couldn't afford rent anymore, so I had to move back to my hometown in another state that same month. I had barely any savings at all due to the relocation costs I just paid to move to said city.
I pulled a 5-year-old desktop computer out of storage, bought a new $50 hard drive for it, put my resume on Craigslist (of all places), installed Ruby on Rails and all my development tools, and within two weeks I had a job working from home for $40 an hour. I didn't have to re-certify, renew any licenses, or pay anyone any fees of any kind. I didn't lose access to any tools I relied on in my previous job. My only expense for maintaining my employability was $50. I have a four-year degree only.
I don't know of any other industry where that's possible, and I don't know if it's possible to do that in this industry anymore. I know it is because of the hard work of the open source movement. I've been thinking a lot about how to preserve that level of economic empowerment in software. I don't think the answer is in licenses, but in something like a union (although you are right in that most developers are rabidly anti-union). Perhaps an alternative corporate structure would have the same result, and that's why I decided to start the first for-profit software collective.
Where is the idea that software engineers are anti-union coming from? I'd like to know.
I like the idea of a software union and would love to flesh that out. Its been well documented that the FANNG corps have been suppressing wages for several years. Software is eating the world and if we have a role in that creation we should have a larger portion of the benefits.
@intelliderp you got buried. I'd love to see links to such anti-union hn discussions. I kinda get that HN is very capitalistic and unions check reckless capitalism. But at the same time HN is very dev focused and unions promise larger benefits/money to devs.
I'll go on the record saying I'm pro dev union. Even if its just a glorified professional organization. I'd love to hear the holes in the argument.
The corporations are financially motivated to prevent unionization. If you want a piece of the future you have to be just as savvy.
One tricky bit is if unionizing just causes a massive exodus of development to offshore. Thoughts on that?
My guess is that that sentiment arises from the meritocratic attitude that if you are disproportionately talented you should be compensated much much more. And I get that. To a point.
I don't like when corporations collude to artificially suppress wages either. Or when information asymmetry is used to keep an engineer's salary low or prevent negotiating higher salaries.
* Compensation/mobility is good enough not to need unions.
* Workers don't have enough leverage to do anything anyway.
* Unions restrict you in undesirable ways.
* Unions are shady and corrupt.
Fascinating article, and one that matches my recent thinking.
I am a part of a large GPL open source project, but am not sure that the GPL made a big difference there, since "distribution" is a loophole large enough to drive a truck through. If you extend & modify software just for your site / your client's site, you have no obligations.
Nowadays, I gravitate towards permissive licenses because I feel that people and companies contribute largely out of self interest, not because a license compels them to.
Yes. And by closing the loophole while staying viral, it makes it unlikely that anyone would ever use AGPL code.
For example, if you use an AGPL CMS to power your website, you now need to open source the entire thing.
So, I'm not saying that it is necessary to have a stronger copyleft license, I am saying that the existing copyleft license was successful because people were able to often ignore it.
A lot of energy has been spent discussing the reach of GPL's virality, and its loopholes. When it comes to copyleft, the Mozilla Public License 2.0 has a much saner approach by avoiding virality all together. Share changes to the code you received, keep the rest.
I agree with most of what you've said: popular modern "Open Source" projects are mostly just corporations uploading more-or-less obfuscated source code from time to time. If I found a bug in Chrome, Safari, or Firefox, my first move to fix it would be to get hired by Google, Apple, or Mozilla. In other words, I'll just sigh and move on.
But I'd disagree with you here:
> I believe that this focus on process is why the GNU project has fallen out of favor as well. The tools that the GNU project uses to develop its Free Software are arcane, ugly, and unique to them.
GNU and other old-school projects (Perl, Python) are the only large Free Software or Open Source efforts to which I would consider trying to contribute. They have spent years building reputations and creating communities. I don't care whether I submit a bug or patch through email or GitHub, but I do care whether or not my effort will have a real effect.
I spoke a bit too strongly in that sentence, it should have said one of the reasons.
Funny enough, I tried to submit a patch to make a while back, and got one reply where the maintainer misunderstood me, I tried to provide clarification, and then radio silence for the past few years. Whereas I've gotten thousands upon thousands of patches through on Github. I agree with you that I care most about impact, but I've had much more impact via GitHub than via Savannah.
I see this more often. Is this somehow to indicate the level of engagement you felt? Because Free Software is about the 4 software freedoms, everything else is maybe your own romanticised version of what that should mean, and you somehow felt let down by those expectations. And that's regrettable, but ultimately very much your own experience, and mentioning it lends no credence to any argument.
> I started noticing that these beliefs weren’t really actually helpful, and were frankly, mostly harmful.
No, not "these beliefs", your beliefs, as reality likely didn't quite pan out as you expected it would.
> even though I was a passionate Free Software advocate, I found myself near-exclusively building Open Source software.
Maybe you're not the best person to write about "Free Software" vs "Open Source", or what would or should come "after Open Source".
Over the course of twenty years, especially in the twenty before your first thirty, many people grow, change, refine their understanding of themselves and the world around them, and reject beliefs they previously held. That’s just a part of being human.
What we want is power. In the desktop era, having source code gave us power, so we associated the two and demanded the former - but this obviously hasn't translated to the cloud.
You can't download a Facebook profile and then re-upload it somewhere else and still be connected to all your friends etc. That lock-in gives Facebook power over its users: proportional to how much they need what Facebook gatekeeps (e.g. "all the news about my grandkids is on there").
When I want to stop using something, but I can't, that's power someone holds over me. In my case, that's Google search, GMail, and Android. I actually hate the latter two, and I've tried leaving them all, but here I am. What they've got in common is that they're all protective layers over what I need to stay connected to the outside world despite being highly dysfunctional (i.e. discoverability on the web, email spam, and phone hardware).
Because of this, Google's got me in a way that - because of open source - Microsoft never could. Whatever comes after open source needs to address that power delta directly. We need choice, but also connection.