teepee changed the topic of #openscad to: OpenSCAD - The Programmers Solid 3D CAD Modeller | This channel is logged! | Website: http://www.openscad.org/ | FAQ: https://goo.gl/pcT7y3 | Request features / report bugs: https://goo.gl/lj0JRI | Tutorial: https://bit.ly/37P6z0B | Books: https://bit.ly/3xlLcQq | FOSDEM 2020: https://bit.ly/35xZGy6 | Logs: https://bit.ly/32MfbH5
nomike has joined #openscad
<nomike> A non-technical question I have just stumbled upon: I'm currently creating some attachments for the honeycomb storage wall system. Usually I license my works under the GPLv3. Just now, I've created a parametric version of a small hook. The original is licensed as CC-BY-NC and so is the original HSW project, both works are based on.
snaked has joined #openscad
<InPhase> If I derive, I typically just copy the original license and mark the reason for doing so accordingly.
<nomike> So my thjng is a derivative of those, so as far as I understand, it's not allowed for me to share my works under GPLv3 and it's best to stick at CC-BY-NC. However, my design is a script and I consider it to be software. And the creative commons folks explicitly warn against using the CC-BY-NC for software,
<InPhase> nomike: Well, you could for example have a script that displays ebooks, right?
<InPhase> nomike: The ebooks wouldn't need to have the same license as the script.
<nomike> If the script contains the whole content of the eBook or re-creates it without outide resources, I believe it has to.
<InPhase> Are you using include/use for the CC-BY-NC stuff, or are you using some scripting to generate these components separately?
<nomike> So to phrase it in your terms: If I re-create some CC-BY-NC design in OpenSCAD, it is fine for OpenSCAD not to be licensed with the same license. At least that's how I understand it.
<InPhase> The license of OpenSCAD itself has no impact on licenses used by designs processed with it, nor of resulting files from it.
<InPhase> I usually put "This work is released with CC0 into the public domain." at the top of most of my released scad files.
<nomike> I'm downloading an STL, licensed under CC-BY-NC and then I'm starting to write an OpenSCAD script from scratch, which at the end produces an STL which looks exactly like the original one. But it has the option to tweak some variables and change the item (e.g. make the hook longer or something).
<InPhase> I do this because I make a lot of content that I intend for people to reuse, and I'm not so concerned about copyleft constraints on 3D models. I do like GPLv3 for a lot of other larger applications though.
<nomike> Makes sense. So CC0 basically says: Do what you want with it.
<InPhase> Yes. Along with "I'm not responsible."
<InPhase> And no warranty. :)
<InPhase> Now if you took an STL from a CC-BY-NC and slapped it verbatim into a larger model, I'd probably think of that as what the GPLv3 calls an aggregate, and I'd consider it not modifying the license of that small piece of the design. But if you are using a script that actively modifies the shape of an STL file, then I would consider the modified shape to be CC-BY-NC.
<nomike> Sure. But in this specific case, I'm afraid that's also not an option, as CC0 doesn't seem to be compatible with CC-BY-NC. The "NC" part is the problem here.
<InPhase> So if you did this in two stages, and modified an STL with a script, and produced another CC-BY-NC stl, and then included that stl as an aggregated piece in another design, releasing the intermediate components as well, then I would probably consider that an aggregate including a CC-BY-NC component.
<InPhase> Of course I will emphasize a few things, like for example, I'm not a lawyer, and that this is just how I would mentally model the problem from having thought about these sorts of things in the past. Second, serious legal issues over these license differences are virtually nonexistent in the entire model community, and I've never heard of any at all. Most people are barely conscious of what license
<InPhase> they're releasing with, and CC-BY-NC became common only because thingiverse was pushing it to try to block copying of their content by competing sites.
drfff has joined #openscad
<InPhase> Although it doesn't stop users from copying content from thingiverse and uploading it to other sites with attribution. It only blocks commercial sites from copying the content themselves with scraping to build up their site content (I think).
<InPhase> So in most cases, CC-BY-NC on a model just means that a thingiverse user mindlessly kept the default setting.
<nomike> In this case I got it from printables.com, but I guess it's the same there.
<InPhase> In-so-far as intention goes. Although it is, of course, still formally legally binding.
<InPhase> I made sure to bump all my libraries over to CC0 on thingiverse, as a gift to the future to avoid people having these struggles. ;)
<nomike> In school in Austria we learned "If there's no plaintiff, there's no judge.". So in this case, I guess I'm just overthinking it and it really doesn't matter which license I choose.
<InPhase> nomike: I would go with a best-effort, and be respectfully responsive to any original authors who reach out (although this is quite rare). Also, be good about the attribution bits.
<InPhase> It's good 3D model community membership to do attribution regardless of the licenses involved.
<nomike> And yes, CC0 seems like a good idea. I don't care what people do with my designs. If it makes you happy, use it. If someone uses my "Parametric Screwdriver Holder for Honeycomb Storage Wall" to create weapons of mass destruction, I don't care and even if, those people would still use it.
<InPhase> Yeah. I remember the goals of the GPLv3 in the 90s, in a social battle against corporate control of the software field. But I don't feel like we have this battle going on here in 3D modeling.
<nomike> Of course, attribution is important and I always give credits to people who's designs I remixed or who significantly influenced my work.
<InPhase> It's probably for the best that OpenSCAD is GPLv3. Printer designers can certainly bundle it with their stuff. But if they customize it, they have to give back.
<InPhase> But the models I view as in a state where maximum sharing is our current goal. If that changes later, we can adjust.
<InPhase> If someone uses one of my OpenSCAD libraries for proprietary professional work in making models, I actually consider that a good thing right now. I want to see more proprietary commercial use of OpenSCAD to make models, to boost up our professional use profile.
<nomike> Sure thing.
califax has quit [Remote host closed the connection]
califax has joined #openscad
teepee_ has joined #openscad
teepee has quit [Ping timeout: 260 seconds]
teepee_ is now known as teepee
<JordanBrown> nomike, InPhase: one note is that the protection is not just for the script that creates the object, but for the design of the object itself.
<JordanBrown> So, for instance, if you generate an STL, that STL is still covered by the license.
<JordanBrown> If you print that STL and use that printed thing to create a mold, the things that you make using the mold are still covered by the original license.
<JordanBrown> If you just look at the model and sculpt clay into the same shape, your sculpture is *still* covered by the original license.
<JordanBrown> This becomes obvious when you think about ordinary non-computer sculpture and artwork; duplicating them by hand does not escape from the original creator's copyright.
<nomike> And "sculpturing" can be done by using clay or by writing OpenSCAD code.
<JordanBrown> Yes.
<JordanBrown> And the original could be in clay or an OpenSCAD program.
<JordanBrown> One of the key things that they are protecting is the abstract design of the object.
<nomike> I know. That's exactly what created my predicament. Or to use another example: I can not just go to a concert hall and start playing Beatles Songs and ask for entrance fees.
<JordanBrown> Yes. Heck, you can only barely sing the songs in the shower.
<JordanBrown> I read a quote once from somebody explaining intellectual property ownership, specifically with respect to music.
<nomike> That's the beauty of CC0, you avoid all this confusion and legal mumbo jumbo. "Just go ahead and do what you want. I don´t care."
<JordanBrown> The person said "So we have this song. If you destroyed every recording of it, every printed copy of the music, everything, people still know it... and *that's* what we own."
<JordanBrown> CC0 == Public Domain.
<JordanBrown> Which is surprisingly hard to do. There's no formal way to mark something as public domain, and the next person to lay hands on it is allowed to remove your marking and even (attempt to) claim copyright.
mohammad1722 has quit [Ping timeout: 250 seconds]
<JordanBrown> And if you're declaring something PD, you need to be certain that the work is derived from PD work and your own work... if you try to release something as PD that includes something that I own, I think you might be liable.
<JordanBrown> IANAL, of course.
LordOfBikes has quit [Ping timeout: 255 seconds]
<InPhase> JordanBrown: Having released my work publicly, people can claim all the copyrights they want on derivatives of my work, but they don't remove anyone else's right to continue using the elements I put into the public domain. It remains a compatible thing, because you can incorporate public domain elements into your copyrighted work, and you own the incorporated body of work, but it does not extend to the
<InPhase> public domain elements that exist separately.
<InPhase> There is a "filtering" that needs to be done to ascertain what is actually covered in the copyright. This can include a particular usage of the public domain work, and modifications of it, but not the unmodified elements.
LordOfBikes has joined #openscad
<pca006132> btw, I am very curious to the case when people are infringing copyright by transitively depending on copyrighted material...
<InPhase> JordanBrown: Also, the reason for using CC0 along with claiming public domain is to cover the handful of jurisdictions that lack a clear statutory provision for releasing into the public domain. CC0 is designed to give identical rights to this.
<pca006132> e.g. A depends B, B depends C, B claims that it is in public domain but C is not, and B is in somewhere that C cannot sue...
<InPhase> Last I remember hearing, Germany was one of those weird jurisdictions which lacks a provision for putting things into the public domain.
<InPhase> Which means people in Germany don't officially have the right to use things which are marked only as in the public domain without a rider license like CC0.
<InPhase> Unless those elements are old enough to have slipped into the public domain the natural way.
<InPhase> Hopefully Germany will someday fix this, if they haven't already. It doesn't affect people outside of Germany really, but limits usage there, which is a weirdly self-limiting thing.
<InPhase> pca006132: It's still an infringement under most jurisdictions, although as a practical matter courts and juries tend to look at accidental infringement by deception differently from other types. But it can still come with an awkward duty to rectify the situation.
<pca006132> and I guess when it comes to financial damage, they will argue about if the defendant did their due diligence in checking for copyright etc.?
<pca006132> wish I will never get into this type of situation
<InPhase> pca006132: LLMs are creating just such a scenario for us.
<InPhase> pca006132: So there will be court cases...
<InPhase> pca006132: Probably we'll let the deep pockets fight it out for a decade, and we little people will just wait around for updated guidelines and changing regulations. :)
<pca006132> did you watch the WSJ interview with OpenAI CTO recently?
<InPhase> No.
<pca006132> that one is fun
<othx> pca006132 linked to YouTube video "OpenAI's Sora Made Me Crazy AI Videos—Then the CTO Answered (Most of) My Questions | WSJ" => 1 IRC mentions
<pca006132> that face lol
<pca006132> What data was used to train Sora? We used publicly available data and licensed data.
<pca006132> So videos on YouTube? :|
<InPhase> pca006132: Yeah, pretty good interview.
pca006132 has quit [Remote host closed the connection]
kintel has joined #openscad
<kintel> guso78 I got your color branch to build, but it did crash pretty quickly:
<kintel> difference() {
<kintel> sphere(10);
<kintel> union() { color("red") cube(10); color("blue") translate([5,0,0]) cube(10); }
<kintel> }
<kintel> Didn't try to debug yet, but I'll read some code
<JordanBrown> InPhase yes to all of that.
<JordanBrown> pca006132 "A depends on B" et cetera... dependency per se may or may not be an issue. I can write a program that runs only on Windows, that is absolutely dependent on Windows, and yet is in the public domain (or otherwise licensed).
<JordanBrown> Somebody else can write highly restricted commercial software that depends on my PD software, that depends on Windows, and their software can remain highly restricted.
<JordanBrown> GPL introduces some worms into the can, depending on how GPL components are connected to intended-to-be-non-GPL components.
<JordanBrown> And the "what about the output of the program" question can apply... if I write a PD program that uses a restricted JPEG library that says "images produced by this software are copyright by the library author", then if you use my PD software to generate an image then that image may still be covered by the library's license.
<JordanBrown> Tools like bison and flex that incorporate large blocks of their own software in their output are especially amenable to this sort of restriction.
mmu_man has quit [Ping timeout: 272 seconds]
nomike has quit [Remote host closed the connection]
J24k40 has joined #openscad
J24k57 has quit [Ping timeout: 250 seconds]
kintel has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
GNUmoon has quit [Ping timeout: 260 seconds]
guso78k has joined #openscad
digitalrayne_ has joined #openscad
digitalrayne has quit [Read error: Connection reset by peer]
GNUmoon has joined #openscad
digitalrayne_ is now known as digitalrayne
buZz has quit [Ping timeout: 255 seconds]
buZz has joined #openscad
buZz is now known as Guest3758
cart_ has joined #openscad
guso78k63 has joined #openscad
<guso78k63> kintel, the crash happens, because the material indices are not yet well propagated though all CSG engine and i need to catch up there. will let you know when your testcase is working in my place
pca006132 has joined #openscad
<guso78k63> index out of bounds access -> crash
guso78k has quit [Quit: Client closed]
Guest3758 is now known as buZz
guso78k63 has quit [Quit: Client closed]
L29Ah has quit [Read error: Connection timed out]
L29Ah has joined #openscad
L29Ah has quit [Read error: Connection reset by peer]
kintel has joined #openscad
<kintel> guso78 Thx. I think I understand how to runIndex/faceID stuff works in Manifold now.
<kintel> Btw., have you used Manifold's vertex properties yet, e.g. for your texturing stuff? I feel that may complicate stuff a bit
<kintel> ..in terms of how vertices with different properties will be duplicated by Manifold
kintel has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
L29Ah has joined #openscad
L29Ah has quit [Ping timeout: 252 seconds]
L29Ah has joined #openscad
califax has quit [Ping timeout: 260 seconds]
califax has joined #openscad
mmu_man has joined #openscad
J24k40 has quit [Quit: Client closed]
J24k40 has joined #openscad
califax has quit [Ping timeout: 260 seconds]
califax_ has joined #openscad
califax_ is now known as califax
<pca006132> btw there should be some recent bug fixes to vertex properties
phryk has quit [Remote host closed the connection]
<t4nk_fn> haven't looked, but I guess openscad is using a qglwidget too then; I was just breaking my head over my own app ;)
<t4nk_fn> I was trying to implement being able to select a 'vertex', lol, still don't know what they are :b .. by a mouse click in the glwidget
<t4nk_fn> think I'll get there in the end though hehe *sigh*
jonasbits has quit [Ping timeout: 272 seconds]
L29Ah has quit [Ping timeout: 268 seconds]
L29Ah has joined #openscad
J24k40 has quit [Quit: Client closed]
J24k40 has joined #openscad
TheAssassin has quit [Remote host closed the connection]
<t4nk_fn> (otoh; 'in the end' may well be in 9 years, the way things are going.)
TheAssassin has joined #openscad
mmu_man has quit [Ping timeout: 256 seconds]
TheAssassin has quit [Remote host closed the connection]
TheAssassin has joined #openscad
TheCoffeMaker has quit [Excess Flood]
TheCoffeMaker has joined #openscad
mmu_man has joined #openscad
TheCoffeMaker has quit [Excess Flood]
TheCoffeMaker has joined #openscad
phryk has joined #openscad
pca006132 has quit [Remote host closed the connection]
TheCoffeMaker_ has joined #openscad
TheCoffeMaker has quit [Read error: Connection reset by peer]
mmu_man has quit [Ping timeout: 252 seconds]
teepee_ has joined #openscad
teepee has quit [Ping timeout: 260 seconds]
teepee_ is now known as teepee
<gbruno> [github] w1ebr opened issue #5051 (Union of two closed shapes fails) https://github.com/openscad/openscad/issues/5051
<gbruno> [github] t-paul closed pull request #5050 (Update README.md) https://github.com/openscad/openscad/pull/5050
<gbruno> [github] t-paul pushed 1 modifications (Merge pull request #5050 from openscad/Add-test-requirements-list,-add-python3->=-3.8 Update README.md) https://github.com/openscad/openscad/commit/23d5bb96ee8f84bb82dbccec8b840f0956e0b21c
peeps[work] has quit [Quit: Leaving]
peepsalot has joined #openscad
<gbruno> [github] w1ebr opened issue #5052 (Union of closed shapes fails - ZIP file attached) https://github.com/openscad/openscad/issues/5052
<gbruno> [github] w1ebr opened issue #5053 (Union of closed shapes fails) https://github.com/openscad/openscad/issues/5053
<gbruno> [github] w1ebr closed issue #5051 (Union of two closed shapes fails) https://github.com/openscad/openscad/issues/5051
<gbruno> [github] w1ebr closed issue #5052 (Union of closed shapes fails - ZIP file attached) https://github.com/openscad/openscad/issues/5052
snaked has quit [Ping timeout: 260 seconds]
fling has quit [Remote host closed the connection]
fling has joined #openscad
L29Ah has quit [Read error: Connection reset by peer]
L29Ah has joined #openscad
TheAssassin has quit [Remote host closed the connection]
TheAssassin has joined #openscad
<gbruno> [github] cjmayo synchronize pull request #4908 (Test building with Qt 6) https://github.com/openscad/openscad/pull/4908
snaked has joined #openscad
<gbruno> [github] cjmayo synchronize pull request #4908 (Test building with Qt 6) https://github.com/openscad/openscad/pull/4908
cart_ has quit [Ping timeout: 272 seconds]
mmu_man has joined #openscad
teepee_ has joined #openscad
teepee has quit [Ping timeout: 260 seconds]
teepee_ is now known as teepee
kintel has joined #openscad
mmu_man has quit [Ping timeout: 255 seconds]
<kintel> It's probably not worth fixing a lot of CGAL-related issues as we focus on Manifold going forward. I've added a "Fixed by manifold" tag to GitHub, so we can tag issues accordingly to indicate that we have a proper fix for the issue
mmu_man has joined #openscad
kintel has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
J24k40 has quit [Quit: Client closed]
J24k40 has joined #openscad
kintel has joined #openscad
<kintel> guso78 Reading more Manifold code, I wonder if you need to use Mesh3D::runOriginalID to recover from which mesh the triangles originate