Collaborative Open Source License
I like open source software a lot. But, there are also things about open source software I find deeply unsatisfying and frustrating. This license, while possibly futile and misguided, is an attempt to address those things.
I like sharing solutions to problems. But, I want something in exchange! I want to get bug reports, maybe even fixes or new features. Or, maybe best of all, I want someone else to come up with a better solution and tell me about it. Fundamentally, I want to collaborate on solving common problems.
There are really two main classes of problems I've run into. The first, which is well-known, is when a commercial entity benefits from open source work without providing any kind of contribution back to the project. This is bullshit.
But, the second is within open source projects. It is when one project takes code, potentially even just a little, from another. I think can be inherently anti-collaborative.
Ok yeah, sometimes a project has just been abandoned. Or, the project has some technical or philosophical issues that don't fit with what you are going for. Maybe you just want to try to do your own thing! I think these can be ok, provided you also make real attempts at working together.
But here's the thing. Some stuff I made is useful to you. In exchange for that, I want your bug fixes, features, and ideas. Maybe in the end we'll discover that working together does not make sense. But, it is your responsibility to make that effort.
Brace yourself, because here's where things get weird. I think legal text is fucking ridiculous. It is astounding to me that human society is based on writing and then interpreting natural language. I write software, I know this shit isn't easy. But, what we do is just bananas. Not to mention that it barely functions at all, forget functions correctly. I want computational law, and I want it yesterday.
Sooo, I'm just going to not write any legalese. I know there has to be some eventually. Just because I don't like our legal system doesn't mean I can ignore it. But I also don't have to go quietly. And I wasn't sure it would be worth the effort because it's possible everyone will just think this is stupid.
If you happen to be a lawyer that thinks this is an interesting concept and isn't completely offended by my preceding tirade, I'd love your help.
The purpose of the COSL is to allow open source software to be made while also:
- increasing collaboration
- decreasing commercial free-loading
- protecting the project contributors
Lol no
- For personal projects (ie no distribution): yes
- For open source projects: yes
- For commercial projects with < 3 developers: yes
- For commercial projects with >= 3 developers: yes but only as long as you support the project financially; financial amount of each contribution, as well as the identity of the entity supporting the project, can be disclosed by the maintainers.
Yes. But if you are distributing in source form, it must retain a reference to the project's repository.
- For closed-source projects: yes
- For open-source projets: no
However, forks are allowed, of course! But, not if the fork intentionally diverges from the main repo as a new project.
Just because someone contributes to the project does not mean they are endorsing the project. Come on.
If the model is itself open source, yes. But any output derived from this source must include a reference to the project. If the model is closed-source, no.
If you are thinking to yourself "hey! that's basically the same as disallowing all training" well this is my license, tough shit.
If the projet is closed-source, yes.