48
is there something about rust which precludes copyleft licensing?
(programming.dev)
All about open source! Feel free to ask questions, and share news, and interesting stuff!
Community icon from opensource.org, but we are not affiliated with them.
I don't think it's Rust exactly. I think Rust is just newer and this attracts developers with less experience with licensing. It's not really something developers want to think about very much so they often just use the default. Heck, most code on github, etc., didn't have any licenses at all for a really long time until businesses realized they couldn't use the code without them due to copyright laws being applied by default but patents not being default in many countries, etc.
There are consequences to using copyleft as opposed to more permissive libre licenses, and vice versa, that may not be well understood by a lot of developers in general until they get into a situation where it matters. Either their code can't be used by people they wanted to sue it, or companies are abusing the code without proper attribution, etc.
Do you think it was intentional ideological decision by the Rust developers or some other contributors/interests to make permissive the default? Or a random decision that has ended up being consequential because of the popularity of Rust?
I have noticed for a long time that github promotes MIT license. It lets you use any, of course, but puts a real positive shine on MIT. My perception is that this is a purposeful intervention by MS into FLOSS to promote MIT.
I think its just that the language having built in licensing is a newer concept as opposed to just having a companion document. And MIT and Apache are the licenses the pieces of the language is licensed under, so they made those default. That way it's a conscious decision to make it more restrictive.
how's it built in?
Rust crates manifest file requires a license be set to be hosted on crates.io and the example manifest file uses:
Something like the Java's jar manifest doesn't have a predefined license property for interpreters to parse. Maven has a property, but it's not required.