towards a usable CC-BY-4.0 parts library - Printable Version +- LDraw.org Discussion Forums (https://forums.ldraw.org) +-- Forum: General (https://forums.ldraw.org/forum-12.html) +--- Forum: General LDraw.org Discussion (https://forums.ldraw.org/forum-6.html) +--- Thread: towards a usable CC-BY-4.0 parts library (/thread-27440.html) |
towards a usable CC-BY-4.0 parts library - Johannes Schauer - 2023-05-15 Hi, for the Debian Free Software Guidelines (DFSG), the CC-BY-2.0 license is considered non-free due to its several issues. I was very happy with the recent switch to CC-BY-4.0 as that license is considered free according to the DFSG. The recent release 2302 adjusted the LICENSE header of many parts with the result that 74.8% of all parts are now licensed under CC-BY-4.0 (and not anymore the problematic CC-BY-2.0). This is very good but there are still some pitfalls. I tried to rank parts by their popularity because I wanted to figure out whether any "important" parts are still in the remaining 25.2% under CC-BY-2.0. To this end, I downloaded the rebrickable.com database of official LEGO sets and then sorted parts by how often they appear in these sets. Of the top 90% of that list, 376 parts are still licensed under CC-BY-2.0. This includes important parts like "3623.dat" (Plate 1 x 3). The full list (sorted from more popular to less popular) is: Code: 3710 54200 3666 2412b 3623 3622 2420 43093 32062 3437 3460 85984 6636 3713 In https://forums.ldraw.org/thread-27315-post-50565.html#pid50565 Orion Pobursky points out that in case 3623.dat the file could actually be switched to 4.0 and maybe there are more instances like that. Is there a way for me to find those myself? So there is the problem that important parts like the Plate 1 x 3 will be missing from a CC-BY-4.0 parts list (even though Plate 1 x 2 will be included). But there is another problem. As parts include other parts, such a CC-BY-4.0 parts list would also have to remove all parts t hat are CC-BY-4.0 but which depend on CC-BY-2.0 parts as without those, the part would be broken. I parsed all dat files and arranged their inter-dependencies in a directed graph. By finding the recursive ancestors for each node, we can find the parts which are required by a lot of other parts but which are still CC-BY-2.0 and thus block a lot of other parts from being included in a CC-BY-4.0 list. Here is a top-50 list of the CC-BY-2.0 parts and by how many parts those are needed: Code: p/4-4cyli.dat 14612 Parts like p/rect.dat are very trivial but are used by thousands of other parts and are still CC-BY-2.0. I would submit new CC-BY-4.0 versions of these important parts but many are just trivial one-liners where it's difficult to come up with a version that does functionally the same but looks different... What can be done to improve the situation? What can I do to help? RE: towards a usable CC-BY-4.0 parts library - N. W. Perry - 2023-05-15 (2023-05-15, 9:36)Johannes Schauer Wrote: Parts like p/rect.dat are very trivial but are used by thousands of other parts and are still CC-BY-2.0. It seems to me like you've mentioned the obvious and easiest solution already. Heck, even I could whip up a 1x3 plate or a rectangle primitive and grant it the 4.0 license and re-submit it as a totally new part. A trivial one-liner that only references other files would not need to look different; there really isn't any creative content there that would be in danger of being plagiarized. Same with a geometrically defined part like a rect primitive: mathematically the content can only be one thing as defined by the spec. There's no intellectual property to protect (or if there is, it's in the defining specification, not the file itself). I'm not saying to ignore the license, of course, just that we needn't worry about copying an existing part if its content is so trivial that the same content would be arrived at by any author independently. But if you really do want to recognize the original author(s), you could always place a credit to them within the new part file as a comment, or history line. RE: towards a usable CC-BY-4.0 parts library - Orion Pobursky - 2023-05-15 The next update will make this percentage even smaller and, hopefully, put most of the commonly used bricks and primitives into 4.0. Let's table this discussion until then. P.S. This next update will be in June P.P.S. Primitives can be regenerated programmatically, if needed, but I'd rather go through the process first. RE: towards a usable CC-BY-4.0 parts library - Johannes Schauer - 2023-05-15 (2023-05-15, 13:05)N. W. Perry Wrote: It seems to me like you've mentioned the obvious and easiest solution already. Heck, even I could whip up a 1x3 plate or a rectangle primitive and grant it the 4.0 license and re-submit it as a totally new part. I've done exactly that and created a small Python script that is able to generate dat files for a few important plates, bricks and slopes: (2023-05-15, 13:05)N. W. Perry Wrote: A trivial one-liner that only references other files would not need to look different; there really isn't any creative content there that would be in danger of being plagiarized. Same with a geometrically defined part like a rect primitive: mathematically the content can only be one thing as defined by the spec. There's no intellectual property to protect (or if there is, it's in the defining specification, not the file itself). That was my intuition as well, but I'm not a lawyer so I'm unable to say for sure. Quote:The next update will make this percentage even smaller and, hopefully, put most of the commonly used bricks and primitives into 4.0. Let's table this discussion until then. Agreed. I'll repeat my analysis again in June. Thank you for all your work!! |