There’s no motive to fix this problem.
Github could do one of the following:
- Declare that all code not declared to be under a specific licence is some open source licence: let’s say, MIT, for the sake of argument. This screws two sets of people:
a. People who have their code under a specific licence but haven’t declared it in a way that Github will autodetect. For example, you’re not obliged to have a file nameLICENSE. If in myREADME.txtI say “this code is under the GPL”, that’s perfectly legitimate, but Github won’t know that (and can’t realistically code a way to recognise all ways of declaring a licence on some code) meaning that I’ll have said it’s GPL but Github say it’s under MIT, which is at best confusing and at worse Github attempting to unilaterally relicence my code without my permission!
b. People who don’t want their code to be under a specific open source licence for some reason; Github have now declared that their code is MIT when they didn’t want that. Github would then have to also declare that “all code pushed to Github has to be under an open source licence unless you pay for private repos” or something, which would be immensely bad PR for them and cause at least some people to move away from Github and to somewhere else, which is bad for Github and so they aren’t going to do it. - Declare that all code pushed to Github which doesn’t have an explicit
LICENSEfile is under no licence (which is the current actual legal state of affairs) and put a banner on such repos saying “This code isn’t declared to be under any licence which means that it’s proprietary and you can’t use it”. This would be a pretty big nudge to people to make such a declaration, and as such would be good for the open source world, but it’d be really bad for Github because they’d go from being “big repository of code you can use” to “big repository of code most of which you can’t use”. Yes, this is actually the case right now – you can’t use unlicenced code – but at the moment that’s your problem. If Github start highlighting that problem then it switches from being your problem to check out into being their problem for being a repo of unusable code, which makes them look bad and so they aren’t going to do it. Regardless of whether it would be better for the open source world were they to do so. (Note: this would also screw people in state 1a above, where their code is licenced but not in a way that Github autorecognises, and would maybe be worse; I release GPL code, Github doesn’t recognise that it’s GPL, they declare the code can’t be used when actually it can. This moves from “you have to identify your code as GPL” into “you have to identify your code as GPL in a way that Github recognises”, which is the sort of thing that Stallman et al will get all narrow and shouty about.) - Do what they’re doing now, i.e., nothing; it’s your problem to identify.
I can see why they’re doing (3), even though it’s bad for our community.
tl;dr: “Not having a license is a good way for code to be abused or die” is true, but there’s no way for Github to improve this situation without making Github look bad, and therefore they won’t do it.
