1. 72
  1.  

  2. 32

    Wow.

    This article starts off with a thoughtful and nuanced exploration of some of the hard issues around open source and big tech, and then kinda jumps the shark as far as I’m concerned:

    Work at a megacorp and either you rot working on menial things, or learn to play the politics game to get a shot at working on the one interesting project… until it gets canceled when the CEO decides to “refocus”, or when Monday comes if you work at Google.

    Honestly, there’s no reason for this kind of attitude. You don’t want to work for big tech? Great! There’s a lot of merit for staying small and feisty and having total control. Rock on with your bad self! But don’t tar every employee working for big tech with the same brush, because:

    1. Your preferences are not their preferences
    2. Your goals may not be their goals
    3. What brings you pleasure and fires your passion may not do the same for them.

    And who are you to tell me what I do or don’t love, or where I can or can’t find fulfillment?

    Am I asking everyone to sit around the campfire and have a sing along? Heck no! Big corporate jobs aren’t for everyone, What I would like is a bit more nuance, understanding and open mindedness and bit less vitriol.

    The “software you can love” idea is interesting, but I guess I don’t really understand the advantage of further muddying the waters in an already super complicated licnesing landscape.

    1. 19

      Thanks both of you for clearing up my own concerns about the lines about Big Tech being tone deaf.

      The “software you can love” idea is interesting, but I guess I don’t really understand the advantage of further muddying the waters in an already super complicated licnesing landscape.

      I, personally, loved this framing. Among many issues with the Free Software movement, one I see constantly is an insistence that personal feelings of delight and good UX are sidelined in the name of “freedom”. Hate how config files feel and there’s no Settings GUI, so you’re not interested in using the software? Well, you’re an enemy of freedom. You didn’t reach the patch notes, the new software broke your system, and you’re annoyed? Well freedom is a choice, and you just chose against it. Not only does this cause people to not take free software seriously, it just means that people won’t actually use free software and will use proprietary alternatives instead, because you’re not taking the users’ desires into account when you’re designing the software.

      I’d love to see an increased focus in free software on software that actually brings joy to its users; software that is fun to use and also free, not free but sometimes fun to use. I love the framing of that in this article. Software, at the end of the day, should solve a need.

      1. 1

        this feels wrong to me. sure, there are a lot of elitist people in the crowd something like the free software movement attracts, but there are also at least a handful of prominent gnu projects with ease of use as a high priority. gnome is probably the best example here, but there’s also lmms and emacs (emacs not so much, but they’ve made some efforts for semi-gui configuration and so on).

        which is not to say that i disagree with your main point. i love gnome for how little i need to configure it (these days i turn animation off and compose key on, and that’s it), and that’s great. but i also love emacs, and that’s for very different reasons, and maybe a lot of people who love the former wouldn’t love the latter or something, but emacs has very much taken its users desires into account in its design (even if currently maintenance isn’t doing such a good job at that).

        1. 1

          I don’t think we disagree on anything discussed actually. Users of different systems have different expectations and needs. A user of Emacs probably has different expectations than a user of MS Word, for example.

          there are also at least a handful of prominent gnu projects with ease of use as a high priority

          Gnome is actually probably the only one I know. And even then, Gnome gets so much flak from many modern FOSS fans.

          there are a lot of elitist people in the crowd something like the free software movement attracts

          This is a question I’d love to unpack. Nothing about free software ostensibly requires elitism, but it’s present at many points of the conversation. Why?

          1. 2

            i think you’re right, and i misinterpreted some of what you were getting at.

            Gnome is actually probably the only one I know. And even then, Gnome gets so much flak from many modern FOSS fans.

            yeah, this sucks. i think a lot of that flak plays into the elitism thing, particularly as gnome seems to take a lot of inspiration from the mac aesthetic. also it appears that gnome do not consider themselves part of the gnu project, so i guess my point falls down anyway.

            Nothing about free software ostensibly requires elitism, but it’s present at many points of the conversation. Why?

            i find this interesting too, and i briefly touched on it in my post about nano being pretty good. fundamentally, i’d say it comes down to the fact that free software is an ethical stance. once the ethics of anything get involved, it becomes easy to consider those who don’t subscribe to, or understand, the ethical position as worse in some way, ergo, elitism. with that foundation, all sorts of other elitism can grow, and technical aptitude is an easy target in a technical environment.

            1. 1

              it becomes easy to consider those who don’t subscribe to, or understand, the ethical position as worse in some way, ergo, elitism

              Yeah that might be it. It’s just unfortunate since elitism and ethics just mean that you can bully folks into accepting your UX of choice in the name of ethics, even though the ethics say nothing about UX.

      2. 21

        And who are you to tell me what I do or don’t love, or where I can or can’t find fulfillment?

        Did you miss this part?

        Big tech has been increasingly unable to create software you can love, and that’s the ability you gain by refusing to work for the silicon valley. It’s not for everyone and I can understand if somebody prefers the security of a stable job in a company too big to fail, where they can just go home after work, forget about software, and live a very comfortable life but big tech jobs are not the absolute best choice for those who really love software craftsmanship and, as it turns out, some of these people have taken a liking to Zig.

        Also

        The “software you can love” idea is interesting, but I guess I don’t really understand the advantage of further muddying the waters in an already super complicated licnesing landscape.

        This has almost nothing to do with licenses, where did you get that idea? It seems to me you need to re-read the post.

        1. 18

          I didn’t miss that part. That part is just as tone deaf as the rest of this section of the article.

          Would it surprise you to learn that there are a number of AWS employees who are fans of Zig?

          People take jobs for all kinds of reasons. Those reasons can and often do have nothing at all to do with what those people may or may not love doing on their own time.

          1. 30

            Just like some work for AWS, I worked for Redis Labs. I don’t regret it, I learned a lot of things, and it was fun until the last phase. It also paid well and allowed me to live a good life.

            I have no ill will towards people that work at AWS. I do have ill will towards the company, just like I have ill will towards Redis Labs given what’s happening to Redis.

            If I had no other alternative, I would be still working at Redis Labs. I was lucky and so now I’m in a position where I can share what I think without fearing losing my job. I don’t expect anybody to become a human sacrifice in the name of software.

            I really encourage you to read the article without seeing it as a personal attack towards you, or as a statement on licensing. It’s neither. It’s about the current dominant model of producing software, its limitations, and how the ZSF knows how to deal with big players that have different interests that conflict with ours.

            1. 14

              I really encourage you to read the article without seeing it as a personal attack towards you, or as a statement on licensing. It’s neither. It’s about the current dominant model of producing software, its limitations, and how the ZSF knows how to deal with big players that have different interests that conflict with ours.

              Thanks very much for this. I will definitely do so.

          2. 6

            … but big tech jobs are not the absolute best choice for those who really love software craftsmanship and, as it turns out, some of these people have taken a liking to Zig.

            It’s bullshit to say I don’t “love software craftsmanship” because I don’t work for, and frankly don’t want to work for, a non-profit startup building a new language. I will decide the “absolute best choice” for me. I really like the ideas and motivations of zig, and Andrew seems like a great guy, but your statement is just categorically false.

            1. 5

              I might have messed up the English, but I think you have interpreted the sentence in the opposite way of its intended meaning. The sentence doesn’t say that if you love software craftmanship big tech is the worst choice, nor that if you work in big tech you can’t love software craftmanship.

              What the sentence hints at is the sentiment where if you are a skilled engineer that care about the craft then you have to aim for a big tech job. I used to have relatives tell me that “oh, you’re so passionate, one day you’ll work at google for sure”.

              I guess it’s hard to have a honest conversation about something that people consider part of their identity. I personally don’t consider my job part of it. I didn’t before working for a SV startup, nor during, and neither I do now.

              1. 1

                Maybe this exchange can be of interest to you.

                https://news.ycombinator.com/item?id=26789129

          3. 14

            The “software you can love” idea is interesting, but I guess I don’t really understand the advantage of further muddying the waters in an already super complicated licnesing landscape.

            I had the exact opposite reaction: “software you can love” is nice but honestly doesn’t actually address the root cause of the problem: the profit motive is toxic to software and users. You can talk about love all you want, but the failure of Open Source shows that any approach that isn’t rooted firmly in anticapitalist principles isn’t going to be very effective in the long run.

            Getting very strong “you don’t hate mondays; you hate capitalism” vibes from the second half of this piece.

            1. 5

              I had the exact opposite reaction: “software you can love” is nice but honestly doesn’t actually address the root cause of the problem: the profit motive is toxic to software and users. You can talk about love all you want, but the failure of Open Source shows that any approach that isn’t rooted firmly in anticapitalist principles isn’t going to be very effective in the long run.

              I suppose I should remind myself that we can hold two ideas in our minds at once. Capitalism though awful has produced a LOT of incredibly good (and incredibly bad :) ) software through the years. That doesn’t necessarily contradict your statement about profit motive’s toxic effect on the process.

              1. 4

                Don’t mix up co-occurrence with causality.

              2. 4

                I think small shops such as Panic (https://panic.com/) are doing great: it is for profit, but not greedy. Mega corporations are in a totally different league.

                1. 1

                  I would maintain that it is not capitalism specifically that is the problem, although the profit motive is usually toxic to a degree. Modern capitalism is nothing like what Adam Smith originally proposed and should possibly not even be called capitalism, I prefer the term Neo-feudalism but that is a bit tongue in cheek. I feel like large corporations have become creatures of their own which we no longer control as a species.

                  The pattern of what is happening with humans vs. corporations is starkly reminiscent of what you see in nature when a newly introduced species of plants or animals crowd out endemic species.

                  Should we be concerned that in the long term corporations will replace humans altogether? If so, should we not be waging all out war against them while we still can?

                2. 5

                  Honestly, there’s no reason for this kind of attitude.

                  100% agree

                  I work for a large corporation. I’m very happy with it. I don’t see any reason to shit on me for that.

                3. 10

                  I wonder about several courses of action.

                  We could double down on the concept of copyleft. Treating corporations as people has led to working-for-hire, a systematic separation of artists from their work. We could not just extend the Four Freedoms to corporations, but also to artists, by insisting that corporations are obligated to publish their code; they could stop publishing their code only if they stopped taking that code from artists and claiming it as their own. A basic transitional version of this is implemented by using licenses like AGPLv3, and it does repel some corporations already.

                  We could require decentralization. Code is currently delivered in a centralized fashion, with a community server which copies code to anybody, for free. This benefits corporations because of the asymmetric nature of their exploitation; taking code for free is their ideal way of taking code. Systems like Bittorrent can partially remedy the asymmetry by requiring takers to also be sharers.

                  We could work to make languages easier to decompile and analyze. This partially means runtime code auditing, but it also means using structured language primitives and removing special cases. In the future, corporations could be forced to choose between using unpleasant eldritch old languages or using languages that automatically publish most of their API and logic in an auditable and verifiable manner to any requestor. And they’ll do anything we recommend, as long as it comes with an ecosystem; look at how many folks have actively embraced C, PHP, JS, etc. over the years.

                  1. 15

                    I don’t think that there is anything that can be accomplished by messing around with licenses and in fact trying to keep those sane and not too exotic is the one good thing big tech has done in my opinion.

                    What’s missing is something different that can break the “get vc money”, “acquire users”, “build a moat”, “return money to vc” dance. I personally have no idea what that could be. The one thing I know, is that it produces unlovable software and that there are enough people out there that can do better with a fraction of the money.

                    I also don’t think that the answer lies in more Free software zealotry.

                    1. 14

                      What’s missing is something different that can break the “get vc money”, “acquire users”, “build a moat”, “return money to vc” dance. I personally have no idea what that could be.

                      I would encourage you to look into the model of worker-owned cooperatives.

                      1. 8

                        I would encourage you to look into the model of worker-owned cooperatives.

                        I’ve seen this work for consultancies. Everyone involved has to actually be of like mind though, and that can be harder than it appears to actually manifest and sustain.

                        1. 4

                          Why would that change the quality of the software? In order to do it right, you’d need money coming in and a small enough team, and if you have a small team and money coming in you can probably make quality software, no matter who holds the company shares.

                        2. 8

                          I appreciate your thoughts. I agree that things could be better.

                          As the saying goes, “if there were no copyright, then there would be no need for copyleft.” (Who first said this? I think it’s from an RMS essay.) The current focus on copyleft is because of the judo which licensing allows us to leverage against corporations. As another saying goes, “corporations are golems before the law;” licenses are made of the same substance as corporations, and form effective weapons.

                          There are two implicit ideas in your post. I don’t fully understand them and I don’t want to put words in your mouth or construct strawmen, so instead I’ll have to be vague. The first idea starts with compensating folks for producing code. Since compensation requires a market of purchasers, and software can be copied at marginal cost, there is a natural misalignment of incentives: The producers want to be paid for the labor of production, which tends to increase; but the purchasers want to only pay for the cost of copying, which tend to decrease.

                          The second idea is that the politics of programming languages are important. On one hand, anybody can create a programming language. On the other hand, there are tendencies for big things to get bigger, including communities expressing themselves with popular languages. But on the gripping hand, every new language is built from the tools of old languages. Rather, it’s a question of which possible new languages we choose to build, and which lessons we choose to learn from the past, and those choices are political since people write expressive code in order to communicate with each other.

                          The answer to breaking the cycle of capitalism involves either democratizing ownership of the cloud hardware, or democratizing the development and maintenance of the cloud software. The only thing which keeps the capitalists in control is the ownership of property. Free Software is optional but hard to avoid if we want to do anything about it.

                          1. 3

                            The current focus on copyleft is because of the judo which licensing allows us to leverage against corporations. As another saying goes, “corporations are golems before the law;” licenses are made of the same substance as corporations, and form effective weapons.

                            True, but I think that this is a war that is being played on many more levels and IMO, as effective as a license can be, Free software is losing the war on all other fronts. One example is branding. “Open Source” is a much more popular term than “Free software” and surely big tech has helped make that happen.

                            My point is that big tech has already learned how to win against licenses and it’s through marketing and a myriad of other activities. The FSF from my perspective has no chance at beating that unless it becomes willing to rebuild itself from the ground up, and we’re seeing that that’s not the case.

                            The answer to breaking the cycle of capitalism involves either democratizing ownership of the cloud hardware, or democratizing the development and maintenance of the cloud software.

                            Democratizing the development of software IMO has little to do with capitalism nowadays, and a lot more with being competent at shaping up communities around “principled” software projects and by keeping software simple and clean, so that new generations can quickly ramp up and fight against bad software. I leave it to you to judge how GNU is doing in that regard.

                            1. 4

                              “Open Source” is a much more popular term than “Free software” and surely big tech has helped make that happen.

                              The change happened a little earlier, but it’s not surprising that corporations would endorse a corporate-friendly bastardization of a community-grown concept. That’s what it means to be exploitative.

                              My point is that big tech has already learned how to win against licenses and it’s through marketing and a myriad of other activities.

                              You have no evidence with which to support this assertion. I intentionally linked to my pile of evidence that corporations systematically avoid certain licenses, including licenses which cover popular software with ecosystems of users. As I have previously explained:

                              The goal is to enumerate those licenses which are well-known, as a matter of folklore and experience, to designate Free Software which corporations tend to avoid. None of the information that I linked in my answer is new information, but it is cited and sourced so that folks cannot deny the bulk of the thesis for lack of evidence.

                              The FAANGs are indebted to GNU/Linux, for example, and while they have made efforts to get rid of GNU userlands, they are not yet ready to get rid of Linux. As I said at the beginning of the thread, we asked corporations to use C, and they used C; they chose irrationally because they’re not actually capable of technical evaluations, and this shackled them to our kernel of choice.

                              Democratizing the development of software IMO has little to do with capitalism nowadays…

                              This will have to be where we agree to disagree. You have pointed out twice, in your own words, that capitalism matters to producing software. First, you noted that the current cycle is driven by venture capitalists; these are the same sorts of capitalists that, a century ago, were funding colonial projects and having political cartoons made about them. Second, you surely would admit that it’s not possible to develop software without development hardware, which forms operating capital; whoever owns the computers has great control over software developers.

                          2. 6

                            There are other capitalistic software endeavors that are considerably more gentle than the current VC insanity. For example the SQLite folks. I’m not even sure it’s incorporated. But dr. Hipp is definitely doing it for the money.

                            Edit: looked it up, SQLite is incorporated as a limited partnership of a small number of people. Corporate contribution results in a very well defined boundary of “what you get”. The “funny” thing about SQLite is that it’s unlicensed. SQLite is In the public domain.

                            1. 1

                              But dr. Hipp is definitely doing it for the money

                              Eh this is very simplistic, and I’m not sure how you can be so certain that you know the motives of others. Do you know him?

                              If you look around, you can find various origin stories behind sqlite, which shed some light on the matter. Any project, and particularly large/long-lived ones, are going to have a mix of motivations, and they can change over time. Money could be one reason but it’s certainly not the whole story.

                              1. 2

                                Dr. Hipp has said so himself in some of his lectures. So, sure, he could be lying or saying it for dramatic effect, but I’m going to take him at his word, and I find it hard to believe that “making money” is zero percent of his incentive for doing it. That money wasn’t the only motivation is exactly my point. Just that “making money” does not automatically taint a project, in fact in many cases it’s a good signal that you are at least building something that someone wants. We are just living in times where other societal superstructures make it so that the type of capitalism that Loris is talking about is favored. My personal take is that it’s ironic that some of the factors that brought about what we have now were concieved of specifically to restrict or “strategically guide” capitalism, and have either spectacularly backfired or had some gnarly unintended, but perfectly predictable, if you were listening to the right people, consequences.

                            2. 2

                              My theory is that saying the problem is “profit motive” is almost right - the fundamental problem is trying to sell anything other than “what the user wants”, and receiving money from anywhere except directly from the user.

                              For instance, the “try free” button mentioned in the article is usually from someone trying to fund software development with cloud-services revenue. Cloud services revenue is not the software (or rather, it’s the software plus some other stuff), so they need to maintain the not-software that is not necessarily what the users need, and that distracts and gets in the way.

                              Ads/tracking, open core, all fall into the fundamental problem of prioritizing not-software over software.

                              So basically, I’m saying the future is patreon or liberapay or a libre app store.

                              There are two main ways we can make this happen:

                              1. We make paying for Free Software more convenient. There’s a lot of low-hanging fruit here. For instance, open up F-Droid on your phone, and look for an app called Phonograph. It’s GPL3, and offers a paid version ($5) called Phonograph Pro. P Pro is available from the github (if you compile it yourself) or the Google Play store, but not from F-Droid. F-Droid doesn’t support purchasing Free Software nor conditionally-available binaries, see. Selling Free Software is about selling convenience, so we damn well better make it convenient to buy Free Software. But more than that, it’s hardto figure out who or where to give money or even if it’s possible. I like Mesa, if I want to give them money I should be able to do so before the random impulse wears off.

                              And to go even further, if we’re ambitious, in the long term we should try to handle identity and payment on the desktop (which come to think of it is too long for this paragraph or post, I’ll gladly elaborate though) so as to make it easier in the long term for people to pay. 2. We should foster an attitude of “if you like it, put money towards it. anything.” Because IIRC, currently only 0.01%ish of users donate money. That is insanely low.

                              This is super weird and tightropey, since freedoms aren’t supposed to be conditional and realistically Free Software is fundamentally tied to voluntarism, and we really don’t want to make room for people to justify proprietary software by saying “well you ought to be paying anyway, and as long as you’re paying you’re not losing anything anyway”.

                              So, we need people to voluntarily pay within an order of magnitude or two of what the proprietary alternatives receive. I don’t see how anyone can sustainably compete on quality with Google, unless their revenue is at least 1% of Google’s. I just don’t see a primarily volunteer-programmer project ever scaling that high.

                              1. 1

                                Yeah, I’m with you there. I’m searching for an alternative path as well for https://arbor.chat. It takes money to grow your software, but there has to be a better model for funding than the traditional one. We’re thinking we might establish a nonprofit that accepts donations, but also provides a hosted set of infrastructure with a sourcehut-style subscription. I’d love to talk more about this kind of thing with anyone who is interested.

                                1. 2

                                  As both an owner in a free software small business and also a small-time investor with a software freedom bent, I’m very interested in these kinds of topics and more collaboration between the people/projects/companies trying to find the way.

                                  1. 1

                                    I found this to be an interesting approach: https://squidfunk.github.io/mkdocs-material/insiders/

                                    It seems like it’s working for them. For a theme, it seems to have quite a bit of financial support.

                                    1. 1

                                      Thanks for sharing that! I’m not yet sure how I feel about the approach taken, but it’s certainly a very interesting data point.

                                2. 7

                                  We could double down on the concept of copyleft. Treating corporations as people has led to working-for-hire, a systematic separation of artists from their work. We could not just extend the Four Freedoms to corporations, but also to artists, by insisting that corporations are obligated to publish their code; they could stop publishing their code only if they stopped taking that code from artists and claiming it as their own. A basic transitional version of this is implemented by using licenses like AGPLv3, and it does repel some corporations already.

                                  Doubling-down on the concept of copyleft is basically the agenda of the free software movement, which is the thing that @kristoff states is a “disaster on too many fronts and its leadership has failed so badly that I don’t even want to waste words discussing it”. I don’t think it’s obvious that the free software movement has failed - certainly not so obvious that it’s not worth words discussing it. But certainly it’s the case that lots of software is not published under copyleft licenses, some free and some non-free. If the free software movement is a failure so long as anyone at all is publishing non-free software or even free but non-copyleft software, then sure, it’s a failure so far; but that seems like an awfully stringent requirement for success.

                                  We could require decentralization. Code is currently delivered in a centralized fashion, with a community server which copies code to anybody, for free. This benefits corporations because of the asymmetric nature of their exploitation; taking code for free is their ideal way of taking code. Systems like Bittorrent can partially remedy the asymmetry by requiring takers to also be sharers.

                                  We already have this. Redis is a BSD-licensed piece of free software whose source code is publicly-available here on GitHub. Anyone can legally fork this and redistribute it, without asking anyone’s permission and without even doing all that much work. If GitHub deplatforms the project for any reason, it’s very easy to set up alternative git hosting on some other service. If someone really doesn’t like the fact that the official redis website has too big of a try free button, nothing is stopping them from setting up a website for their own fork of redis that doesn’t have that button.

                                  We could work to make languages easier to decompile and analyze. This partially means runtime code auditing, but it also means using structured language primitives and removing special cases. In the future, corporations could be forced to choose between using unpleasant eldritch old languages or using languages that automatically publish most of their API and logic in an auditable and verifiable manner to any requestor. And they’ll do anything we recommend, as long as it comes with an ecosystem; look at how many folks have actively embraced C, PHP, JS, etc. over the years.

                                  A lot of organizations using unpleasant eldrich old languages are stable and stodgy ones that have been around for decades, and aren’t necessarily even for-profit corporations. MUMPS is primarily used by hospitals, and COBOL has plenty of use in banks and government bureaucracies. A lot of the reason for this is that these organizations have software requirements that don’t change very much, and have made the trade-off that having a software stack that few people understand is better than updating that software stack and risking introducing bugs. Corporations that haven’t gotten big and institutional yet have more incentives to use newer technology stacks - and if they refuse to anyway and that choice contributes to the company failing in the marketplace, whatever, it’s just one more of many failed companies.

                                  1. 1

                                    We already have [decentralization]. Redis is a BSD-licensed piece of free software whose source code is publicly-available here on GitHub. Anyone can legally fork this and redistribute it, without asking anyone’s permission and without even doing all that much work. If GitHub deplatforms the project for any reason, it’s very easy to set up alternative git hosting on some other service.

                                    This is the “we have food at home” fallacy. To use words more carefully: GitHub is the “community server” from which “code is currently delivered in a centralized fashion”. You are saying that if one point of centralization vanishes, then the community can establish another. Yes, but it takes time and effort, and the community is diminished in the meantime; removing those centralized points is damage to the communities.

                                    A properly-decentralized code-delivery service would not be so fragile. It would not have any Mallory who could prevent a developer from obtaining code, save for those folks in control of the network topology. (A corollary is that network topologies should be redundantly connected and thickly meshed, with many paths, to minimize the number of natural Mallory candidates.) Any developer who wanted to use a certain library would only need to know a cryptographic handle in order to materialize the code.

                                    Note that these services would only work as long as a majority of participants continue to share-alike all code. So corporations have a dilemma: Do they join in the ecosystem and contribute proportional resources to maintaining the service while gaining no control over it, or do they avoid the ecosystem and lose out on using any code which relies upon it? Of course they could try to cheat the network, but cryptography is a harsh mistress and end-to-end-encrypted messages are black boxes.

                                    1. 3

                                      This is the “we have food at home” fallacy. To use words more carefully: GitHub is the “community server” from which “code is currently delivered in a centralized fashion”. You are saying that if one point of centralization vanishes, then the community can establish another. Yes, but it takes time and effort, and the community is diminished in the meantime; removing those centralized points is damage to the communities.

                                      GitHub isn’t the community server. There is no the community. Lots of separate open-source projects with their own communities exist, and they can individually choose to host the authoritative version of their code on whatever git platform they want, whether that’s GitHub, Gitlab, Gitea, the ssh-based hosting built into git, or some other option.

                                      I agree that if a given open-source project deliberately chooses to host their code and issues and documentation and so on on GitHub, rather than on a platform that they have control over, they are vulnerable to community disruption and damage if GitHub decides to stop serving them. And insofar as GitHub is popular, lots of projects exist that are making this choice. I agree that this is a bad idea, and that these projects shouldn’t do this. Personally, I no longer host my own open-source code on GitHub, and I only interact with it in order to contribute to projects that do use it.

                                      But individually getting a lot of separate organizations to switch away from a useful-but-nonfree software platform to a free one that maybe doesn’t have as much UI polish as the nonfree choice is a hard collective action problem (it’s actually pretty much the same problem as getting people to switch from Mac OS or Windows to Linux on their desktop computers). You can’t compel large numbers of people to value freedom from GitHub’s disruptive product choices over the value they currently get from GitHub. You can’t compel a bunch of different people to do the work to switch off GitHub all at once.

                                      A properly-decentralized code-delivery service would not be so fragile. It would not have any Mallory who could prevent a developer from obtaining code, save for those folks in control of the network topology. (A corollary is that network topologies should be redundantly connected and thickly meshed, with many paths, to minimize the number of natural Mallory candidates.) Any developer who wanted to use a certain library would only need to know a cryptographic handle in order to materialize the code.

                                      Radicle is a great idea, I’m a fan. If some project currently using GitHub as their authoritative git repo decided to switch to Radicle and abandon their GitHub-based infrastructure, I think that would be great.

                                  2. 3

                                    One route that has been under-explored is to pay for software distribution.

                                    On some level software has the same issue as music, copying it is super easy. It doesn’t matter if the source is open or not if the distribution is made convenient enough that people are willing to pay for it.

                                    1. 2

                                      I like to call this model “libre-non-gratis” and there have been a small but strong set of examples over the years. Conversations (android app) is one currently active example

                                  3. 3

                                    I sympathize with his points regarding open-source and his frustration with what’s become of software engineering, but this article feels like a big unbiased ad for Zig. It’s too bad, because we need to have this discussion, but this article isn’t even trying.

                                    1. 2

                                      One thing I’ve been thinking about recently is a software licence that throws in a clause that it’s only for people. If you’re a corporation you don’t get to use the software without paying for it. The difference from non-commercial software is that if you take on full liability for your business, like a sole trader, than you can use it to your hearts content.

                                      It would also be a license that builds its own ecosystem, you have an advantage in taking on liability compared to big co and only need to pay for insurance. Since anything derived from that work would also require the same you would end up with a flock of one man businesses that collaborate with each other and charge third parties for the software/hardware.

                                      A free market if you will.

                                      Which is a very large change from the current situation where right now the choice we have is to starve on donations, make obscene salaries in big tech, or gamble with even more obscene sums in the buyout game.

                                      The issue I see with traditional tech, viz. online stuff, is that there still isn’t a viable way to charge users for content. But the fact that the real world isn’t digitized yet, and that IoT has been hot air and baloney, makes me wonder if this wouldn’t be the only way to bring computing to the physical world where running costs don’t asymptotically approach 0.

                                      1. 1

                                        I hate to break it to you, but corporations are people now…

                                        More seriously, a single person can act as a corporation in all manner of non-evil ways, such as to simplify a one-person business - economic actions made as a corporation are separate from the ones made as an individual.

                                        1. 2

                                          economic actions made as a corporation are separate from the ones made as an individual.

                                          Is that a good idea?

                                          If I dump toxic waste in baby formula I will get arrested for something like attempted manslaughter, if a company does it it’s a great way to cut on costs as long as the fines are lower than the costs of proper disposal.

                                          I’m a big fan of making boards and employees who report to the board criminally liable for the actions their firms take.

                                          1. 1

                                            I’m not commenting on the moral aspect of it, just mentioning that right now there are individuals who are also judicial persons for any number of reasons - businesses, trustees, managing estates. Drawing the line between individual and business is tricky!

                                            1. 1

                                              I think for the topic at hand it’s less tricky; it would just be about making money with a product based on the code in question.

                                        2. 1

                                          One thing I’ve been thinking about recently is a software licence that throws in a clause that it’s only for people. If you’re a corporation you don’t get to use the software without paying for it.

                                          hm, I find this quite an interesting approach.

                                          How would that work when a company is (either fully or partially, as original creator or by employing an author) sponsoring an open source project?

                                          Maybe there should be some way to ensure they pay some amount proportionate to how much they earn from the product in which they use the code. I mean, they’re already paying apple 30% of revenue just to be able to publish their software on the app store…

                                          1. 1

                                            How would that work when a company is (either fully or partially, as original creator or by employing an author) sponsoring an open source project?

                                            There will be no one size fits all. Have your lawyer call their lawyers and start figuring out licensing fees. It’s how everything else is sold and we’ve had a good 500 years worth of experience in figuring out how that works.

                                            1. 1

                                              hm, might be good if it’s possible to get law firms to agree on some sort of commission-based fee to discuss this on a no-cure/no-pay basis. Otherwise I don’t see it happening for small projects without financial backing.

                                              1. 3

                                                Because those projects right now capture about none of the value they create. From memory the guy who started Vue.js makes less money a year than I do. If you can’t afford a lawyer what you’re doing isn’t a business, it’s a hobby. But somehow our hobbies are used by the largest corporations on the planet to make hundreds of billions a year. I have no idea how developers have convinced themselves that this is a sane state of the world.

                                                1. 1

                                                  100% agree. But that’s my point; the Vue creator might not have the money to hire the lawyers to negotiate a good deal with the companies using it in the first place.

                                                  Also, it would be important to avoid the tragedy of the commons situation, otherwise those companies wouldn’t even look at Vue but go with one of the many, many alternatives. But maybe this situation settles itself because once developers start making money they can afford to put more of their time behind the project to support it.

                                        3. 1

                                          Wow, this speaks to me. I am often frustrated as a soon-to-graduate undergraduate student, looking for a way to contribute to the language/software community and at the same time get enough (not lots, just enough) to live a comfortable life. Having some working experience with internships seemed to help me more in getting into big tech’s resume review rounds rather than a non-profit community. As somewhat a language enthusiast (I’m looking into getting a Master’s on this subject), I sometimes check out Rust and Zig repositories looking for things I can help out with. I have not been able to so far. This has been keeping me thinking a lot about my future since third year…

                                          1. 2

                                            You might feel you have some obligation to contribute to open source, but you really don’t. You should take stock of your time, consider what’s most important, and see if contributing to open source fits in there. No-one will fault you for not contributing if you prioritize family or putting food on the table.

                                            1. 4

                                              And even if you didn’t, you can’t really force yourself to contribute, if you’re like me. You contribute because you have an itch to scratch, but it a problem you run into every day, something missing you want, or you’re paid to scratch other people’s issues. There’s no contribution without a need.

                                          2. 1

                                            I agree, big companies want to consume and control open source software. I want to hear more approaches to preventing that.