1. 7
  1. 3

    You can add pngquant to the list.

    When pricing software, keep in mind that B2C and B2B software is priced and sold very very differently. When a business adopts your software, it usually saves them from having to write and maintain something like this in-house, which would cost them some multiple of a developer’s salary. If your software reduces their overhead, risks, improves time-to-market or sales, that’s worth way more than $20. Enterprise companies will spend an order of magnitude more than this just on the administrative overhead of buying your software (e.g. lawyer checking your license, admin staff tracking POs/invoices/payments/renewals/compliance.)

    1. 1

      This is a really interesting series and I’m curious to see how it goes for you as I’ve been pondering similar things for a project I’m working on.

      One thing that’s crossed my mind is: the GPL is about allowing people to make changes and distribute those changes. What do you think of a scenario where someone buys your app, makes some changes to suit themselves or a different use case then publishes the code on GitHub, which they’re allowed to do? They don’t even really need to make changes, they could just put the code online for whatever reason.


      There have been recent issues over at Elementary and one of their founders has mental issues, so not the most stable example, but still, an example.

      This seems a little unfair and an unnecessary detail. Elementary has been funding itself for years (at least 7) with this model so any recent events don’t really have an impact.

      1. 2

        What do you think of a scenario where someone buys your app, makes some changes to suit themselves or a different use case then publishes the code on GitHub, which they’re allowed to do? They don’t even really need to make changes, they could just put the code online for whatever reason.

        I’m perfectly fine with that. If I wasn’t, GPL would be a bad licensing choice. My entire GitHub profile is filled with open source, and the plan was to put leafnode there like the rest. But, this is an interesting avenue to explore, both out of curiousity and because it’s different that what I previously did.

        This seems a little unfair and an unnecessary detail.

        Yes, re-reading that part makes it sound way harsher than I intended. Will remove that once I’m near my workstation again.

        1. 2

          What do you think of a scenario where someone buys your app, makes some changes to suit themselves or a different use case then publishes the code on GitHub, which they’re allowed to do? They don’t even really need to make changes, they could just put the code online for whatever reason.

          I’m perfectly fine with that. If I wasn’t, GPL would be a bad licensing choice. My entire GitHub profile is filled with open source, and the plan was to put leafnode there like the rest. But, this is an interesting avenue to explore, both out of curiousity and because it’s different that what I previously did.

          There are two other problems that I’ve seen with folks who try the approach that you’re doing.

          The first is a variant of the innovator’s dilemma. You’re doing the work of creating the thing, and you’re making it a bit harder for folks that don’t pay you to use it. Someone else who packages it has far less work to do than you. There’s nothing stopping someone else from building GPL’d installers and putting instructions somewhere public. They don’t have to spend any of the effort to create the thing in the first place, so they can spend more time on the packaging than you. They can easily produce something easier to install than you can, for the same investment in effort. You’re explicitly framing the sale as the end user paying for you to do the easy thing (packaging), not the difficult thing (writing the code in the first place), so you have to compete with people who do only the easy thing.

          The second problem is if someone extends your code with something under a different but compatible license. For example, if they wrap it in something AGPLv3 (since you didn’t specify a GPL revision, I’m going to assume that you meant the latest version). Their fork is under a more restrictive license, will you want to take their changes? Forking is a fact of life for any open source project but when there’s a paid option then some people will intentionally license their changes under a license that they believe that upstream won’t take so that they’re not releasing work to support a paid product.

          The cases have a lot in common. You’re relying on giving 95% of something away for free and charging people for the remaining 5%. Other people can easily provide that 5% and charge for it, give it away, or give it away in such a way that you’re likely to be unwilling to merge it into your version. In the latter two cases, they can add other things that differentiate their version from yours. What’s your expected strategy here?

          1. 1

            Every libre-non-gratis project sees gratis distribution one way or another. Conversations has several gratis forks, yet the author still makes enough from the official app to keep going. Synergy was the most popular version of their own software for many years. Etc.

            1. 1

              Thanks for mentioning the two. synergy has only an open core left, but I added a section on conversations.im to the page

            2. 1

              Do you have example cases of the scenarios described happening? I already had trouble compiling the list because for sale GPL software is quite rare. I’d love to expand the list. One example has been given in a comment below, another messaging client.

              If people make use of the freedoms the GPL gives them, how is that not a wonderful thing? I do not expect to make a profit, if I a few years the running costs are covered that would be great but I even doubt that that will happen.

              The return value for me if not in the money but in the experience gained. Both with the Qt framework as well as the distribution side. The extra Qt experience has lead to a promotion at work and the appimage / installer part had extended my knowledge which was also directly applicable at work. A few technical challenges gave me more insight in lower level multiplatform threading and concurrency limits with c++, (looking at you, recursive mutexes) which otherwise I wouldn’t have to dive into so deep, so all in all, even without sales I already got a large amount of value back.

              And to be honest, if someone forks my app and changes or extends it, it means it (partly) fills a need they have. Enormously flattering that would be.

            3. 1

              I’m perfectly fine with that. If I wasn’t, GPL would be a bad licensing choice. My entire GitHub profile is filled with open source, and the plan was to put leafnode there like the rest. But, this is an interesting avenue to explore, both out of curiousity and because it’s different that what I previously did.

              Fair enough. I’m curious to see how it works out too. :)

            4. 1

              has mental issues

              Yeah, this feels off-base. Lunduke is not a good-faith arbiter here.