I’m active in circles associated with FSF and I often hear them saying research or academic software or programs must be licensed under GPL to prevent the work from being used in proprietary software.
But as a researcher I think that’s just involving politics in scientific work. I like BSD or MIT for research because it gives more flexibility for the users to use my work in anyway they see fit.
I think restricting my research work removes the point of it if it can’t be used freely by any person for any kind of work.
What do you people think?
I see it this way: by choosing BSD or MIT over GPL, you’re just protecting someone’s freedom to take your work and prevent people from using a continuation of it. They can still use it and change it, they just need to give their version to everyone, making even more tools available to everyone to use however they want. When it comes to science, too much is paywalled and restricted already. I wouldn’t want to let someone paywall any more stuff if I can help it.
Gpl ensures freedom.
You can always sell your code to someone with a different license if he wants to use it. If you just give it to him for free, he uses your code, time, effort, money and makes real money. You don’t see a cent. If you sell your code to him for a small fee under a differene licence than gpl, he can make real money and compensate you for your time. With MIT you just give it away for free, valuing your time at zero.
Gpl just ensures that someone else is working with you and not abusing you.
If you start a project with MIT, someone can fork it, create a billion dollar company with it and you are stuck with nothing.
In the real world, people copy your code anyway even if it is licensed under gpl and since they don’t have to publish it, it’s difficult to detect and sue them.
Gpl was, is and will be free.
As a professional researcher, you are already compensated by someone, e.g. the gov, and you could argue that it is the goal to publish your code for free such that anyone can use it to make a billion dollar company. Ultimately, you are free to choose the license.
With gpl, everyone profits and with MIT someone profits and probably not the author.
How about LGPL
It does not promote freedom as much as gpl.
You can always publish your code under gpl now and add a note that you are open to relicense your work. You can then later add the L to gpl or switch to MIT if you want to.
You can not switch from MIT to GPL.
My first packages were gpl. Then I got to know MIT and thought, wow, that is real freedom! Following that, I published my code under MIT until someone told me that gpl promotes freedom. If a project uses MIT, i may contribute but I won’t be the main author.
MIT is much better than proprietary. sometimes MIT is much more favorable than gpl. E.g. If you are a company and want to collaborate with others, you release your base code under MIT and anyone can just not release their additional contribution but everyone contributes to the base code.
How would you feel if Microsoft (for example) took your research code and turned it into a proprietary software product that made them billions of dollars a year, which you could buy and run, but could not modify, inspect its operation, or make use of the modifications that Microsoft made to your work outside of their proprietary product?
Your answer to that question is what determines which license you should use.
I’ve settled on publishing all researxh-related code under AGPL. My reasoning is that academic research is funded by the public, so naturally the code should be public. Taken a step further, by licensing it under AGPL, I am ensuring that companies who may use the code for profit have to keep that code public and cant just privatize it and lock the public out.
Its unlikely anyone would ever even use my code though so 🤷
I personally do cc0 (though i do not have much published). i can not really be bothered to do proper licensing, and my prefered license (wtfpl) is not considered good (by admins, because it has the f word , boo hoo).
I also have always used CC0 or simply “public domain” just because I don’t want users to have any hassle.




