I have a question about making software code that we use to simulate our photonic devices publicly available - ideally we would like something like a CC BY-NC-SA license, but apparently people online discourage others to use CC licenses for software. What are your thoughts on that and how do you usually publish code?
The problem here isn’t so much that Creative Commons isn’t usually applied to software, but rather that restricting software usage by requiring noncommercial applications makes your work not open source. This is definitely incompatible with the TUD policy.
about the TUD policyTUD is the actual owner of all software you write. Right now the policy says "declare everything at the valorization center" and don't do anything without permission (everyone ignores it though because it's not workable). The new policy, which is being finalized now, will:
- Apply to all software which you may publish at all (no restrictions from the funding or legal side)
- Grant you the ownership over this software, provided that you publish it under a pre-approved open source license and declare this.
Off the top of my head, pre-approved licenses are CC0, BSD, MIT, Apache, EUPL, LGPL, GPL.
In specialized research software the driving force behind open source licenses being competitive with company offers are the community good will and the cheap expert labor. I expect that having a noncommercial license hurts both of these factors by making others less likely to contribute back, and also more reserved in using your work.
As far as the licence choice goes, I recommend BSD or MIT (all of my research software uses these). If you feel possessive, use GPL3.0 (it is conceptually equivalent to CC-BY-SA), but I feel that these
days it will bring you fewer contributions from users rather than more.
Thanks. I don’t think the idea for us is really to get someone to contribute to our software but rather only for others to be able to use it for their own research. This is also why we would like the NC attribute.
The definition of NC says “NonCommercial means not primarily intended for or directed towards commercial advantage or monetary compensation”. This is extremely vague and open for interpretation. Majority of researchers have paid jobs, and therefore all their actions at work can be considered primarily intended towards monetary compensation. While this vagueness is intentional, and not actually meant to be interpreted in this way, it’s still one extra reason to avoid this license.
Rather than thinking what kind of usage you’d like to permit, I’d like to ask what use do you want to avoid? As much as I am certain of your expertise and the value of the software, I also imagine that even a smallish R&D company that could use your software would be able to replicate it with limited effort.
Probably the most equivalent to the NC (non-commercial) feature (or at least, sentiment) of the CC license for software is the GPL(3).
The GPL requires that derivative works also inherit the same licence as the original work. It does not technically prevent commercial companies from adding / modifiying the software you provide, but it does require that any resultant code they have must also be publicly available in a GPL licence.
(For example, companies that use Linux on their mobile phone products are required to state that it contains GPL software, provide the source code they used, and also provide any modifications to the source code)
I personally don’t completely understand this, the GPL licence was one of the things that made Linux a huge success, while the already existing BSD unix (from which the BSD licence gets it’s name) is largely dead (except for in my macbook deep under the covers…)
But people are people, communities are complicated, and maybe open source developers are not as altruistic as they used to be
Or more altruistic, since now they contribute even without being forced to do so by the license. Partly it boils down to community traditions and dynamics. Another aspect is that companies, while overall happily contributing employee time to a small package, won’t touch GPL software at all.
@sgroeblacher, Gary is right here and in practice GPL is as effective as NC in that companies (and probably large open source teams) will rather reimplement your work from scratch than use it.
Indeed, I think company attitudes to open source are probably a large driving factor
Think of M$ and Ballmer’s 2001 “open source is cancer” comment…compared to now with open sourcing (partially at least) products like VSCode (which people in my group seem to like…)
Things are changing!