6 ms·
I'm not sure exactly what he meant by software license hygiene, but if it's what I imagine, it's a significant problem. Often people don't quite understand the
by mikekchar 7y ago
I'm not sure exactly what he meant by software license hygiene, but if it's what I imagine, it's a significant problem. Often people don't quite understand the licenses they choose and they get into trouble as a result. For example, there is a free software game that I follow which is licensed under the GPL. The author made a passing statement that the game is under the GPL, but none of text of the game is (it's an RPG, so there is a significant story). When I looked, they had mistakenly added the GPL to all the files that contained the story! They thought that since it wasn't source code, it couldn't be covered by the GPL.
It's clearly a well intentioned mistake, but it's the kind of thing that can bite you later because someone will accept the license and use it for something you never intended. At that point it's a really big headache.
It gets even more complicated when people try to mix licenses that are incompatible -- it works fine until somebody challenges it. At that point it's an absolute pain. The last thing you want on your project is to have someone say they are going to sue you because you don't have permission to use their code. It's really, really important for people to follow the licenses correctly and GitHub is in a wonderful place to help with that. It's a win for everybody. I would say even if people realise that they can't use GPL for some project because it is incompatible with the license for other code they are using, it's better than going for years and having a problem!
- km3k 7y agoYes that is a common problem. I could see GitHub creating tools to help you select a license and inform you how to use it properly, as well as having systems that show you how the license affects your project.
- jsgo 7y agoI don't think Microsoft/GitHub would have any issue with doing a wizard-y license picker/builder (well, boiler plate existing licenses with fill in the blank for attribution, project name, and the like). They did add that little table at the top of LICENSE pages that checks off what rights and responsibilities the consumer has under the license so it seems they're fans of making the various licenses understandable. I think it is a good request though. I'm fond of MIT, but with the right wizard, I may also find that GPL or something else may be a better fit for what I'm working on.
- DSMan195276 7y agoThey actually already did this years ago, it's here: https://choosealicense.com/ https://choosealicense.com/ It's not under the github.com domain, but they did create it. IIRC they link to it somewhere when you go to create a new repo, along with a drop down to select what license you want (Assuming you're not just pushing an already created repo).
- Beltiras 7y agoStory sounds like data to me. Data should not be in the repo, just the means to fetch it.
- lkschubert8 7y agoIsn't there value in having the story version controlled as well? Separating them just sounds like needless complexity.
- Beltiras 7y agoIf you need it version controlled there are two options. Use somthing that does versioning in the database (like django-reversion f.ex.) or separate the story into it's own repo and use it as a sub-module. There are other ways, these are just the two that jump immediately to mind. Hardcoding any strings is an antipattern.
- jsgo 7y agoI certainly wouldn't fault them for putting the story under source control/versioning or even the location they did it, but there'd be benefit in separating them into two different projects/solutions as you could essentially have a separate "engine" project that could be reused for future games and then different projects with assets/story/etc for any game that comes down the pipe. Now, if the intent is a one off and they have no intention of drinking from the same well so to speak, go nuts.
- Beltiras 7y agoThank you! This, a million times this!
- MatekCopatek 7y agoMeh, it's not really black and white - kinda like saying translation files shouldn't be in the repo. I've put them there a bunch of times, they were (at least initially) edited by the same people as the rest of the code and they were required for the app to compile.
- 7y ago
- toyg 7y agoIt’s also people thinking an open license is a free-for-all. I put out some simple scripts some time ago to move data across a couple of sites, under MIT - super liberal license, “just keep the credits” and you can do anything you want. Simple, right? After a few years I checked the forks and the first (and often only) thing they were doing was to strip attribution everywhere. I mean, it’s github, you forked right from my repo, everyone can see it. And why would you do that anyway, if you’re after publicity just add your name on top! I opened issues and most of them halfheartedly apologized and put back my notices, others ignored me, others pulled down the repo altogether. I bet they’ve all re-stripped it back, by now. It would be cool if the license metadata currently existing on GH could be extended to carry names, in a way that makes it impossible to strip attribution (depending on the license, of course).
- heavenlyblue 7y agoDoes anyone here on HN know of lawyer companies that would follow up on license violation requests in bulk? E.G. there are services like small claims court in the UK that _mostly_ automate the billing on unpaid invoices, is there something like that for licensing?
- cptskippy 7y agoMaybe we need something like the DMCA Takedown Tools in Youtube for GPL License violations on GitHub? /s
- toyg 7y agoWhy the /s? It would actually be a good idea. The whole point of open licenses is that they work inside the established framework of copyright laws.
- saagarjha 7y agoDMCA takedowns are a remarkably heavy-handed way to deal with software licensing, which is often something that can often be resolved with some good-faith discussion.