pchampin / sophia_rs

Sophia: a Rust toolkit for RDF and Linked Data
Other
210 stars 23 forks source link

Change license? #81

Closed alexkreidler closed 3 years ago

alexkreidler commented 3 years ago

I'm interested in contributing to Sophia, either

Although I totally understand and support the aims of copyleft licenses, I think that Sophia and the rest of the RDF ecosystem in Rust could gain much more adoption more quickly if it adopted a permissive license.

See https://github.com/pchampin/sophia_rs/issues/23#issuecomment-565092486.

Although it's not a blocker, it would personally make me more eager to contribute if the entire project used a permissive license (e.g. Apache 2.0 like Oxigraph does)

Also as a side note, I recently did this: https://github.com/alexkreidler/rust-iri-benchmarks, which may be silly, but I thought interesting to see how many different groups in the Rust RDF ecosystem were re-implementing the same thing differently.

That's why I hope Sophia and Oxigraph can achieve the goals of #23. I think that changing the license is a first step that could really make a difference.

MattesWhite commented 3 years ago

Hi, nice to see another one interested in contributing to sophia. Regarding the licencing I can't tell you much. This is the responsibility of @pchampin .

Really nice that you did a benchmark on IRI crates in Rust. As you can see in #74 we are aware of this issue. Like you pointed out IRIs can have many different use cases where the focus is laid on different properties. To be able to satisfy as many applications as possible the TTerm trait was designed as flexible as possible. Therefore, it may be of interest for your benchmark to implement TTerm for the other IRI types you inspect and look at the performance and size of graphs made up of those. You may also notice that sophia itself already provides two different implementations of an IRI, namely sophia::term::SimpleIri and sophia::term::iri::Iri.

pchampin commented 3 years ago

@alexkreidler thanks for your interest, and welcome on board :)

Re. licensing: as a French civil servant, I feel compelled to use CeCILL, which is compatible with French law and endorsed by my administration. Also, I usually start my personal projects with a rather protective license (GPL-like or LGPL-like) as a commitment to favour open-source in general.

That being said, I agree that a more permissive license is a better way to foster adoption (and external contribution) in a project like Sophia. I had already started I that with some of the crates, but I just (see commit above) changed all remaining crates to CeCILL-B, a BSD-compatible variant of CeCILL.

That's a first move, but I am still open to discussion. So:

Q1: Is a BSD-style licence permissive enough for you, or is there something I'm missing that makes Apache more appealing to you?

Q2: Is the CeCILL variant acceptable, or would you prefer to stick to the original one?

alexkreidler commented 3 years ago

Hey all, thanks for the kind responses!

For both questions 1 and 2: I think the permissive CeCILL-B license makes perfect sense for this project. I'll close this issue.

I'll start digging through some code and try to see which of the areas I mentioned above would be good to start at, and then maybe ask some more questions on the specific issues.

Also @MattesWhite thanks for those details, I might go back to updating the benchmarks later.