I have recently had cause to re-evaluate the license I use for a piece of software I wrote a few years ago. BEEPy is a Python network communications library I wrote to teach myself Python several years ago. Well, when I say wrote, I mean wrote to the point that it was reasonably usable, which means about 85% complete.
I think about 6 people have made use of BEEPy, which is actually rather excellent as far as I’m concerned. I don’t think I really expected anyone apart from me to make use of BEEPy, but I figured that if someone wanted to, they should be able to. I had looked at other software that was available, and found it to be lacking; given that BEEP implementations, particularly in Python, were somewhat rare, this wasn’t really that surprising. Nonetheless, every email I receive from someone who uses my software is a huge buzz. I think this is what drives a lot of people to write free software; the gratification that someone else finds your work valuable. To my small, and probably indifferent, userbase: thankyou for the feedback, both positive and negative; I’m really jazzed that you guys bothered to write me an email.
However, some recent correspondence about the license I had chosen, the LGPL, has caused me to think about my software goals for BEEPy again. I originally chose the LGPL because I wanted to ensure that modifications made by users of the library would be made available to the world at large, while simultaneously freeing those using the library to use it in whatever software they pleased; be it proprietary commercial software, or open source. I wanted anyone who wanted to use BEEPy to be able to use it, to save them the effort of developing a similar library themselves.
It appears that my efforts to ensure the free access to BEEPy have inadvertently caused integration issues with other, non-LGPL software. On my reading of the LGPL, I think that the use of BEEPy would not cause any issues. Given that the GPL and LGPL have never been tested in a court of law, it appears that lawyers are taking the extreme, paranoid, ‘please-don’t-sue-me’ view of the licensing and advising their clients that such software is incompatible with commercial licensing.
There have been several occasions where I have longed for access to the sourcecode to the extremely expensive commercial software in order to fix a bug or implement a workaround that would enable one of my customers to achieve a commercial outcome; relying on the usual corporate release schedule meant waiting 18 months for a solution. This is what corporate customers pay millions of dollars a year for.
However, my overall intention with BEEPy was to provide a useful library to a wide audience who would not otherwise use BEEP because there wasn’t a usable Python library available. It seems that some potential users of the software have elected not to use BEEPy because of its LGPL license. On reflection, I believe that LGPL licensing does not serve the best interests of BEEPy in gaining a wider audience and the potential for code improvements due to the benevolent feedback of commercial developers. I intend to release BEEPy under an MIT license to enable anyone to make use of BEEPy in whatever way they see fit.
I hope that those who make use of BEEPy acknowledge the contribution of those who write open source software and contribute improvements through code improvements, monetary contributions, or whatever means they feel appropriate. I understand that some people may not, but I believe that there is a desire among most people to help their fellow human, and that this desire will drive those who use the code I have contributed to the world of my own free will to make a similar contribution of their own, however small.
And for that, I thank you.