In this instance, I can’t be sure how much time was actually saved by making use of the extension. But it illustrates the ethical question I’m interested in. If you’re potentially going to save many hours of research/development, is it right to seek out the source code for free?

(and also)

And for me, I think this is where context is important. There is a difference between someone throwing their code up on GitHub for the world to see and a business selling access and support.

The GPL encompasses an ideology as much as it is a license. Originally meant for things which were being assigned to the FSF anyway, it has some provisions beyond the “share a-like” clauses which show it’s heritage- like the ability to upgrade to future, unwritten, versions of the GPL. Some people don’t like this. (There are people who don’t like the GPL for lots of reasons, some of which I agree with, some I don’t, and some I am pragmatic about).

The GPL is about freedom. If you’ve seen Dr. Stallman talk (and I have) he has some very harsh words to share about the phrase “open source”. It’s not (just) about access to the source code – its about being able to do what you want with it, and with your computing, as long as you don’t impinge on other people’s freedom to do the same.

I realise that Phil is posing an ethical question and not a legal one: shouldn’t you pay for software that saves you hours of work? It seems simple: “yes”. Or: “yes, but …”.

If you’re writing your code in Atom (open source editor, running on the open source Node runtime), to run under PHP (open source runtime), executing it all on a Linux kernel (GPLed) which was part of a Debian distribution (open source project made up of even more open source projects) – why do you just pay the people who add that little bit of value-add on top? You owe a great debt to a lot of people.

The open source community at large relies on a, sometimes frustrating, set of different models for sustainability:

  • Some authors are employed to work on open projects (Redis, Python).
  • Some companies offer their product under open licensning terms to encourage use and to sell professional services on top (MongoDB, MySQL).
  • Some people try and sell their open software and hope people don’t redistribute it (WooCommerce).
  • Some dual license, well aware of what a poison pill the GPL is to many businesses (MySQL Again).
  • Lots of projects receive no formal funding and run on volunteer effort – volunteers enjoy the satisfaction of a job well done, or the admiration of their peers, or the benefits that a CV filled with open contributions gives when looking for employment.

Sometimes, when a project is instrumental to someone’s success, they make a large donation to a foundation, recognising that fact (FreeBSD/WhatsApp).

Patrick McKenzie has written about how frustrating most open source models are when you’re trying to run a company ethically – because really most companies can’t be ethical.

For the most part (and in some places in the world this is a legal requirement) – companies run to maximise the profits for their owners. If you offer software for free but solicit a donation for use, it’s unlikely a company can easily comply with that (unless you’re a registered charity, and even then it’s a lot of hassle). If you sell your product, it’s a little easier, but if a company is aware it can receive an identical product for free, its employees would be acting against its shareholders’ interests if they paid for it.

Patrick certainly seems to come down on the side of offering enterprise support as a sustainable model. Something you can’t get for free, something which the solicitors and legal and finacial people in a company can understand (buying indemnity).

Companies can’t be expected to act ethically, even though individuals can, but people hoping to make a living out of open source software need to adopt business models not based on pity. If you license your software as GPL but expect to keep the source closed, you are fooling yourself and relying on people not exercising their rights.