1. 39
  1.  

  2. 13

    [T]he pragmatic reality is that FOSS developers live in a material world, a market economy, and need to make money somehow.

    Suppose I replace “FOSS developers” with “musicians”. (We can pick other trades, but music is the one I know.) Then there is a standard fragment of advice: get a dayjob.

    More importantly, musicians already have dual-licensing collectives, called record labels; artists signed under the label can easily sample each others’ music, but general usage requires paying the record label a licensing fee. It is well-documented that record labels are aggressive litigants, that they deal with organized criminals, that they abuse artists who sign over their copyrights, and that they lobby governments to improve their legal standing at the expense of independent artists and the public. Do we really want such entities representing us in the Free Software world?

    1. 3

      I fear what you describe a bit, and that’s why I advise to avoid fully commercial and stick with non-profits. However there’s also a difference in that such projects would be dual licensed. Open Source users do not have to go through any collectives. For them each given software project is a normal (A)GPL library that they use as they used to. Wrangling with collectives/labels and their aggressive nature is just a day as usual for business. You use IP, you pay for it. Same as you charge others for using the IP you’ve built on top of IP you paid for.

      1. 4

        The problematic moment is when the collective aggressively pursues exclusive rights on the non AGPL distribution.

        1. 3

          Very true. Similar to gaming platforms (hi Epic!) and music and video streaming platforms. Part of the reason why I’d like coops to be non-profits. But that’s how markets work, and that’s how people pay and get paid in commercial settings.

          1. 1

            I don’t think being a non-profit helps that much. It’s easy to siphon off money to partners and get kick backs on the side.

            I think at least some of the initial orgs should let the devs elect some oversight.

            1. 1

              Possibly true. “some oversight” seems like a good idea, but also can be undermined and/or corrupted. Part of the reason why Open Source is so awesome is that it avoids some of it altogether. But the whole idea is to let Open Source stay Open Source, yet participate in the commercial world with all the benefits and drawbacks it brings.

      2. 3

        I wonder if a partial solution here is for the collective to be owned jointly by the developers. That way its incentives can at least align with their interests, though this doesn’t limit other downsides of record labels.

        1. 1

          Coops are nice for this.

          I’d join a coop and help out if there was enough money to go around to help me keep afloat. Damn, I would be willing to help found an European one - language permitting.

        2. 1

          This was the first analogy I thought of, too, but the music & art “industry” has gotten a bit better since those days. Ko-fi and Bandcamp are the first examples that leap to mind, and I’m sure there are others.

          Honestly, a co-op that manages licenses and litigation for you sounds like a good idea. I would join one.

        3. 9

          The main issue with using a proprietary relicensing scheme is that it means your software becomes nonfree as part of any products you sell that nonfree license to.

          Now, if one’s goal with open source is to get some marketing and eventually some money, this is probably fine. But if one’s goal is freedom and flexibility for end users this would run counter to that goal.

          1. 15

            Flexibility for end users is already a pipe dream. My cablemodem is GPL. This has never once helped me actually change what’s going on in the hardware.

            1. 4

              Most end users I interact with have more trouble with inflexible mobile or web apps than cable modems. You’re right that for a variety of reasons we are far from the ideal, and may never reach it, of course. But that doesn’t mean I need to personally make the issue worse :)

            2. 3

              That is why the whole scheme uses a dual-licensing model. Open Source users can still use each software freely as they did before.

              1. 1

                Not if anyone actually buys the nonfree license and then puts out a product – now this product will be nonfree and contain a nonfree version of the licensed code.

                1. 2

                  It’s true, but it doesn’t take away from FOSS. The non-free product would most likely exist anyway, and just use different libraries or spend the money on reinventing their own.

                  Overall the situation is still better than OSS, because instead of providing free labor for non-free projects, FOSS developers at least get compensation from non-free projects, and this subsidizes development of more FOSS.

                  1. 1

                    or spend the money on reinventing their own

                    Yes, exactly

                  2. 2

                    Most companies don’t care about their product being Open Source anyway. Otherwise they would just the copyleft license from the dual-licensing of the dependency in the first place.

                    The dual-licensing collective are opt-in. If you want to give you software for free to personal and commercial users alikes so they can do whatever they want (including relicensing) for free, then you keep using MIT or something like that. That’s fine, I respect your choice. If you care about preserving software freedom for everyone and you don’t care much about commercial entities you keep using GPL. But if you are resentful that companies are taking your effort for free, don’t give anything back, treat you like a free customer support, and then repackage your own software and make you pay for it, while you have to go to dayjob just to support yourself, then now you don’t have be upset. You can opt-in into preserving software freedom but also let commercial users use it and pay money for it which is fair and square.

                    1. 1

                      Something like this can help indie developers https://prosperitylicense.com/

                      1. 1

                        Also worth checking https://xlcollaborative.com/

                        1. 1

                          Not GPL-compatible (I think), so I (and many like me) will not touch.

                2. 6

                  I’m not sure about the premise that commercial companies “would love” to pay for software, if they can instead use a free alternative that’s a little worse, and workshop it in-house. It’s not even about what’s efficient, I think it’s part of the culture.

                  I think the main reason commercial companies pay for software is for support and assurances. If your collective can guarantee some form of support for all these packages (perhaps with tier levels for controlling time and developer level), maybe it stands a better chance.

                  (Another reason they pay is so they can say that they use it, as part of their branding)

                  Anyway, good read. I hope people keep hacking at this problem, it’s an important one.

                  1. 2

                    I completely agree and mention this is in the article. The commercial licensing will most surely have to be tied to something better than THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY...

                    What exactly that “something better” would be is to be figured out, and the Open Source users will not directly get it. But they can keep using software as “AS IS” Free Software before and benefit indirectly.

                    You want to make money on your otherwise Open Source project? Well, you have to put some extra effort. :)

                  2. 2

                    You would close your project off to contributions from anyone outside the collective.

                    One of the joys of open source is finding a bug, or missing feature that I care about, being able to fix/implement it myself, and send a patch upstream. If I contribute under GPL, and you accept my contributions, you lose the right to relicense. Well, unless you make me sign a CLA (no thanks).

                    1. 1

                      I have a lot of Open Source projects, and amount of contributions is minimal comparing to amount of users. And even contributors are often additional work because their changes have to guided, reviewed and then supported.

                      I’ve signed CLAs before and it’s annoying, but I don’t mind otherwise. Small price to pay, for otherwise free and open software provided for me. Especially if I knew it allows the developers to support themselves without begging for donations while doing unpaid work for me, everyone, and especially companies making a lot of money using their software.

                      1. 2

                        If that’s the case for you, then I guess it’s no loss.

                        For me at least, the point of GPL is protection against proprietary software. which signing a CLA, and this type of arrangement in general, undermines.

                        Given the sentiments of you, and many others around you have little to do with software freedom or copyleft, I wonder if you wouldn’t be better served by a non-commercial license rather than a copyleft one.

                        1. 2

                          For me at least, the point of GPL is protection against proprietary software. which signing a CLA, and this type of arrangement in general, undermines.

                          The Free Software Foundation used to require people to sign over their copyright for contributions to all official GNU projects. If I recall correctly, they did this so they had the freedom to retroactively update code to newer GPL versions. It seems like they’ve relaxed this a bit now.

                          1. 2

                            I wouldn’t sign a CLA for the FSF either.

                            That said, the FSF isn’t using their CLA to sell unlicensed versions of the code.

                            1. 4

                              That said, the FSF isn’t using their CLA to sell unlicensed [proprietary] versions of the code.

                              Technically, yes they are, that is precisely why they want copyright assignment (not a CLA). This used to be where most FSF revenue came from (more than donations). If a company was caught violating the GPL, the FSF will offer them a time-limited retroactive proprietary license to the code. They then have the duration of the proprietary license to comply with the GPL. If they’re not in compliance at the end then the FSF can take them to court for copyright infingement.

                              Note that granting this license is possible for the FSF only because they own all of the copyright. RedHat, for example, couldn’t do the same for Linux because hundreds of other people would still have standing to sue for copyright infringement on their contribution to the Linux kernel.

                          2. 0

                            For me at least, the point of GPL is protection against proprietary software. which signing a CLA, and this type of arrangement in general, undermines.

                            Signing a CLA by no means is undermining copyleft licenses or their spirit. There can be a AGPL project, you contribute, sign CLA and everybody can still use it as a AGPL licensed free software.

                            1. 2

                              The point of AGPL isn’t to have a badge saying “AGPL”, it’s that people who make derivatives of one’s work have to share their source. This arrangement undermines that, because the entire point of the collective is that you sell the right to strip the license.

                              1. 2

                                The root problem is that dual-licensing isn’t an open source business model. It is a proprietary business model. Your money comes from selling proprietary software. This is predicated on the idea that proprietary software is more valuable than F/OSS, which is one that any proponent of Free Software and most advocates of Open Source would reject.

                                You don’t choose a specific F/OSS license in a dual-licensed open/proprietary project because you believe that it’s the best way of ensuring freedom for users or because you think it’s the best way of growing a community, you choose it to give the most friction to any of your downstream consumers who have money. You intentionally make using the open version difficult to encourage people not to use it.

                                This is fine if you want to be running a proprietary software company but still get some marketing points from a try-before-you-buy version that is technically open source but claiming that it’s an open source (or Free Software) business model is misleading.

                                1. 2

                                  Yes, but selling exceptions to AGPL is no worse than using MIT in terms of software freedom. In fact it is better! In terms of software freedom, MIT < AGPL and selling exceptions < AGPL. So if you are okay with contributing to MIT projects, you should be okay with contributing to AGPL and CLA for selling exceptions projects, software freedom wise.

                                  https://www.gnu.org/philosophy/selling-exceptions.html is of the same opinion, by the way.

                                  1. 1

                                    Exactly. Unless someone is an AGPL-maximalist (which I can understand and respect), I don’t know what are their qualms with dual-licensing. It’s a ideological compromise from AGPL-purism, but waaaay more pure than liberal OSS licenses which are like dual-licensing but with unconditional, perpetual, reciprocitiy-free license for all commercial applications.

                        2. 2

                          This definitely seems worth a try. I don’t see any immediate flaws in the idea. The main safeguard is that there is nothing stopping developers from not opting in if they don’t like the system. It may be worth considering whether it is possible to opt out after you have opted in, i.e. how easy it is to pull your library if the collective starts doing things you don’t like. This could be a sticky point. It might be possible to stop them from selling future licenses but it would be hard to pull a license from a company that has already paid for it and now depends on it. Additionally it would be worth considering having some kind of voting rights for the developers on the policies of the collective and its management staff. There are models for this in collectively owned brick and mortar businesses that should probably be studied to work out a good working model.

                          Most of this comes down to decisions being made by the actual people setting up the collective, once the idea is out there, there is not much one could do to stop some malignant corporate entity from creating a for profit exploitative ‘collective’. This means the setup of the first one will be pretty important. Are you proposing to do something like this yourself?

                          1. 3

                            how easy it is to pull your library if the collective starts doing things you don’t like.

                            I imagine that contracts end-developer signed with the collective would generally include some long time duration or even perpetual terms. I mean - people that buy license for a given software need to be certain no one is going to pull a rug from under them, and it seems fair if they pay for it.

                            The whole deal brings in responsibilities that a commercial software vendor would have, possibly including support, security updates for a certain time etc. so it’s not some magical fairytale to make open source devs rich, but just an opt-in way for them to take their project to a next level when they can make money treating it like a “job” without compromising the values that made them start in the first place (FOSS).

                            Hopefully market pressures will keep such re-licensing agents (collectives) reasonable. If they try to abuse devs, devs will be avoiding them and they will eventually start loosing customers as well. So some balance is built-in into it, just like any market system. It’s not going to be unicorns and fairies, but that’s how business works.

                            1. 2

                              It might be possible to stop them from selling future licenses but it would be hard to pull a license from a company that has already paid for it and now depends on it.

                              That might actually be a benefit, considering the top thread today. Both to companies and indirectly to developers, as the added “insurance” it buys companies could be an impetus to actually start paying for what’s already freely available, thereby causing the developer to earn more. Of course, depending on how cynical you want to be, that could be considered “selling out”.

                            2. 1

                              I’m not sure how much I like the idea of Harry Fox Agency for software. This is how music works, and musicians are also pretty famous for not getting paid a lot, especially under the current distribution regime. Part of the problem is that for it to be worthwhile (i.e. a company can negotiate with one or two licensing agencies for all their deps), it needs to be large, and in order to not serve as a beaurocratic wealth concentrator (like the equivalent bodies in music, Spotify et al), it needs to be small.

                              Also, how do you distribute the profits? if I depend on a web framework and a string padding library and i pay $100, it’s not fair to split it 50/50 cause a web framework is much more labor to build and maintain, but it’s also not clear to be how it could be set up to not prey on smaller/newer players, and not be outright hostile to folks who don’t want to use it at all.

                              Tldr: musicians have been doing this for decades, and we don’t envy them.

                              1. 1

                                are also pretty famous for not getting paid a lot,

                                Well, Open Source developer usually are not getting paid at all. Also there are differences between software and music, like: no one needs you to fix security issues in your song two years after you recorded it, or keeps asking you how to best play your song on their iPod and could you please record that song again only with a little faster beat, etc.

                                BTW. I think “artists” are whining a lot, not realizing that they are producing most abundant intellectual commodity we have. There is so many songs recorded, that even if I pick a single genre I wouldn’t be able to listen to all of them once if I’ve listened my whole life. At this point, I don’t need any artist to record a single song ever again, and I would still not ran out of things to listen that I’d like and find novel. So someone producing more of that stuff and then complaining that it’s not paying well… I don’t know what to tell them. :D

                                Also, how do you distribute the profits?

                                That’s for free market to figure out.

                                Also - as long as dual licensing model is preserved - all of these potential problems are business/market problems. Open Source users are unaffected. And business are used to wrangle, negotiate, etc. in the market economy. The whole thing is just an easy and efficient way for some people to opt-in into monetizing their software for commercial users. It doesn’t have to be perfect. As long as it’s a better alternative between giving everything away for free (liberal licensing), or making it commercial-entities hostile (copyleft), I think it’s still a win.

                                1. 2

                                  Do you think you could use all the open source software out there? Do you actually want to live in a world where nobody makes new music? Would a world in which nobody makes new software actually be that bad?

                                  1. 2

                                    Do you actually want to live in a world where nobody makes new music?

                                    Would most people even notice?