Vitalii3D-xyz / MetalTap

GNU General Public License v3.0
110 stars 18 forks source link

GPL issue? No CAD? #1

Closed rogerlz closed 1 year ago

rogerlz commented 1 year ago

Hey!

I am reaching out regarding the Voron-TAP project and its derivative work in your repository.

As Voron-TAP is released under the GPL (GNU General Public License), it is necessary to publish modifications. However, I could not find the CAD files in your repository. Would you please clarify this matter?

Thanks

Vitalii3D-xyz commented 1 year ago

Hello rogerlz,

Thanks for the clarification inquiry. This project is indeed compatible with Voron TAP, but it is not derived from it in any shape or form and thus is not required to follow the GNU GPL licensing model.

Saying that I am still planning to release original design into open source community, but so far still looking into the best way of doing that.

samwiseg0 commented 1 year ago

As I can see where you have more than likely made the CAD yourself. The design that you are deriving your CAD from is using GPL thus you need to release your original source files as per the license.

Considering you are using the word "TAP" in your products name. That alone supports the case that you used the original work to derive your version. Anyone looking at this product and the original can clearly see that they are extremely similar. Furthermore, you even mention providing printed parts that have the same R8 magnet angles. This clearly means you are deriving your design from measurements you have taken from the original work.

Myself and members of the community encourage you to do the right thing in this case and release the files as per the license.

Vitalii3D-xyz commented 1 year ago

Thanks for feedback @samwiseg0, I am not trying to disagree with you, but would like to understand better what "deriving your CAD from" means in your context. To make my own conclusion I have read GPL 3 again and while it is hard to apply it to CAD (as it was written for software development and operates with different entities) I can see some analogies. According to GPL 3 derived work is using part of original source in new product, expanding original source or modifying original source. Another very important part is distribution of code. Good shorter version with examples is available here: https://courses.cs.washington.edu/courses/cse490t/11sp/docs/DerivativeWorksGPL.pdf

Have I used original source in my design or have I modified original source: No Do I distribute parts of original source: No

I would really like to understand how GPL 3 applies here.

Considering you are using the word "TAP" in your products name

Is using word TAP automatically makes my work "deriving"? The same for questions about magnets angles. And just in case there are conversation in public Voron discord channel where Badnoob asks me about R8 angles and gives exact numbers.

samwiseg0 commented 1 year ago

Have I used original source in my design or have I modified original source: No

I believe this is where the disconnect may be. Even though the original file itself is not being used does not mean that this is not a derivative work. Creating your own CAD file does not mean this is not a modification of the original work. "Copying", weather that be by any means of inspecting, the original design and making adaptations to it for it to be CNC is by very nature modifying/adapting the source work.

From the document you linked. "Under the Copyright Act, a derivative work is defined as "a work based upon one or more preexisting works, such as a translation, musical arrangement, dramatization, fictionalization, ..., or any other form in which a work may be recast, transformed, or adapted. A work consisting of editorial revisions, annotations, elaborations, or other modifications which, as a whole, represent an original work of authorship, is a 'derivative work'."

An example where your product is a direct copy of the original work. 2023-07-08_00-47

An example of a direct parallel in the GPL document you linked that applies to code. If you looked at open source code, typed out portions of it, made modifications, added your own code, and then release that as part of your product. You would then have to release your original source because you derived your new product from code that was part of GPL.

Do I distribute parts of original source: No

I believe you are taking this literally. Just because the original source (aka CAD file or parts of the CAD file) is not part of your product does not absolve you from following the license. You have based your product off a GPL'ed design and have released it to the public. If you had created this modification/adaptation and not released it to the public then the GPL license could not be applied. Meaning if you used this modified version of TAP for your private use then you would not have to release your modifications.

From the document you linked. "The critical observation is that the requirement that the GPL be applied to a new work is triggered when 1) a derivative work is created and 2) that derivative work is distributed. "

As an example that would not fall under GPL: https://github.com/Chaoticlab/CNC-Tap-for-Voron It would be difficult to impossible to claim this product as a derivative work since it is fundamentally a different design. Just by looking at this design you can tell it is a stark departure from the original.

Vitalii3D-xyz commented 1 year ago

I believe this is where the disconnect may be. Even though the original file itself is not being used does not mean that this is not a derivative work. Creating your own CAD file does not mean this is not a modification of the original work. "Copying", weather that be by any means of inspecting, the original design and making adaptations to it for it to be CNC is by very nature modifying/adapting the source work.

An example where your product is a direct copy of the original work.

Really? IMG_3517

I believe you have misunderstood concept of GPL derived work. That somewhere exist part that is used the same doesn't mean I have used it is cad and doesn't mean I have copy-pasted anything. It is your assumption and I don't like you are making me guilty. From your example please take a look to the comparisons of parts pointed on your picture. Also negative for GT2 belts going to be the same.

An example of a direct parallel in the GPL document you linked that applies to code. If you looked at open source code, typed out portions of it, made modifications, added your own code, and then release that as part of your product. You would then have to release your original source because you derived your new product from code that was part of GPL.

Again, I didn't used original source (CAD file), I didn't modify it, I didn't improve it. If you can recreate functionality of any GPL protected source it is not violation unless you modify or take parts of original code and it is exactly my scenario.

I believe you are taking this literally. Just because the original source (aka CAD file or parts of the CAD file) is not part of your product does not absolve you from following the license. You have based your product off a GPL'ed design and have released it to the public. If you had created this modification/adaptation and not released it to the public then the GPL license could not be applied. Meaning if you used this modified version of TAP for your private use then you would not have to release your modifications.

It is your interpretation of derived work, GPL explicitly talks about source code/files not observations of how algorithms works, etc.

Additionally would like to point you to this document https://en.m.wikipedia.org/wiki/Transformative_use just in case you are insisted on your correctness.

MasturMynd commented 1 year ago

Really?

I'd say so, given that your image is from the back and Sam's image is from the front. No, on the original design, the belt doesn't pass all the way through to the back. However, even in your image, it's clear that the distance that the belt overlaps with the carriage is near identical to the original design.

I believe you have misunderstood concept of GPL derived work. That somewhere exist part that is used the same doesn't mean I have used it is cad and doesn't mean I have copy-pasted anything. It is your assumption and I don't like you are making me guilty. From your example please take a look to the comparisons of parts pointed on your picture. Also negative for GT2 belts going to be the same.

You don't need to use the CAD to derive measurements, angles, or other geometry. Reverse engineering is an excellent example. If I take a knob for my stove, measure every way I can and then reproduce it in CAD, does that make me the original author of the design? No. I derived my design from the original knob. Albeit this is an extreme example of derivation, the same can still be seen in your design. The shape of the silhouette, the mechanisms in which it operates, etc.

It is your interpretation of derived work, GPL explicitly talks about source code/files not observations of how algorithms works, etc.

The definition of derive from the Oxford dictionary: Base a concept on a logical extension or modification of (another concept).

Additionally would like to point you to this document https://en.m.wikipedia.org/wiki/Transformative_use just in case you are insisted on your correctness.

In this article, the word derivative is used as a precursor to transformative use. Transformative use also indicates that the updated design includes critical features that the original didn't, or is clearly intended to be used in a different way.

No one here is trying to make you out to be guilty. We are imploring you to abide by the GPL3 License as your work clearly falls under it. No one is looking down at you for using a starting point, or claiming that you didn't put in a lot of work to reach the design your proud of.

I guess the point I'm trying to make is that we're all in the same boat and do this as a hobby. If there were easy money to be made here I doubt Voron would exist as we know and love it.

My $0.02

smumriak commented 1 year ago

I'd say so, given that your image is from the back and Sam's image is from the front. No, on the original design, the belt doesn't pass all the way through to the back. However, even in your image, it's clear that the distance that the belt overlaps with the carriage is near identical to the original design.

I'd say you've never used voron tap and don't know how big pain in the b*tt is to secure the belts with that garbage design. Especially considering the lack of proper tolerance to actually fit the timing belt. Even this single difference is justifying transformative use for metal tap. Another thing that indicates your lack of experience using voron tap is the fact you can not recognize a design that protects the whole toolhead in case it crashes to the bed. voron tap is obliterated when this happens requiring re-print of almost everything. Metal tap has specific design for consumable printable parts, which are made to be broken in case of crash which, let's be honest, is inevitable due to nature of this type of sensor. While my first half-point is can be considered a minor design difference this one is MAJOR safety and convenience feature that not only is missing from voron tap but conceptually can not be implemented there.

You don't need to use the CAD to derive measurements, angles, or other geometry. Reverse engineering is an excellent example. If I take a knob for my stove, measure every way I can and then reproduce it in CAD, does that make me the original author of the design? No. I derived my design from the original knob. Albeit this is an extreme example of derivation, the same can still be seen in your design. The shape of the silhouette, the mechanisms in which it operates, etc.

Lightning is a USB cable connector that is capable to transfer data using USB 2.0 protocol with special-purpose configurable pins that can be used for displayport output, hdmi output, audio output, audio input etc. and it is rotationally symmetrical connector. USB-C is a USB cable connector that is capable to transfer data using USB 2.0 protocol with special-purpose configurable pins that can be used for displayport output, hdmi output, audio output, audio input etc. and it is rotationally symmetrical connector. Did USB Implementers Forum derive their work from Apple? Did USB Implementers Forum breach Apple EULA and proprietary "Made for iPhone" agreement? According to your logic - yes. According to common sense - no, because USB-C clearly improves on the concept, despite "the shape of the silhouette, the mechanisms in which it operates, etc" are identical. Your point is extremely invalid here.

In this article, the word derivative is used as a precursor to transformative use. Transformative use also indicates that the updated design includes critical features that the original didn't, or is clearly intended to be used in a different way.

Yes, it's a CNC-made product with clear wins in rigidity, mass reduction and print-head crash safety due to design features that are not included in voron tap. Check my point 1.

No one here is trying to make you out to be guilty.

That's is not quite true. I can clearly see active aggressive language towards author of this project and thinly-stretched arguments. GPL is GPL, it's clearly written document with properly defined legal language. There's a reason why GPL went thru three revisions: there is no interpretation there, either one follows it or one does not. This project clearly does not breach GPL license.

I guess the point I'm trying to make is that we're all in the same boat and do this as a hobby. If there were easy money to be made here I doubt Voron would exist as we know and love it.

Easy money? I don't think you are aware the cost associated with running high-quality CNC operation by a single person. I bet the cost of the machine is not going to be covered by 10000 of these taps. How many people are in voron community? How many of them are using any tap-based sensor? This project is clearly made to help the community, to give everyone access to high-quality well-designed parts. If you don't see that that's on you

My $0.02

Next time maybe you would consider a piggy bank

Crawlerin-SA commented 1 year ago

Hello @smumriak I think your shots may be missing the target worse than Stormtroopers. MasturMynd participates on development of Tap and is co-developing Boop, which is Tap version for small printers. Just my 2 cents ;-)

smumriak commented 1 year ago

MasturMynd participates on development of Tap and is co-developing Boop, which is Tap version for small printers

I know. My comment was very much intentionally directed like that. voron tap is conceptually great, all it's revisions are extremely flawed. You are failing to understand the irony

Just my 2 cents ;-)

Next time maybe you would consider a piggy bank

smumriak commented 1 year ago

One more thing. @rogerlz, @samwiseg0, @MasturMynd and @Crawlerin-SA, everything you've said would be valid 100% if the topic in discussion was patent breach. But voron tap is not patented thing, is it? License is not the same as patent, but for some reason you are confusing the two in your arguments.

Vitalii3D-xyz commented 1 year ago

I'd say so, given that your image is from the back and Sam's image is from the front. No, on the original design, the belt doesn't pass all the way through to the back. However, even in your image, it's clear that the distance that the belt overlaps with the carriage is near identical to the original design.

It is quite possible they are similar, but not the same unless it is some luck as I haven't even try to do that and picked random integer. Just in case for future discussion this is picture of another side: IMG_3520

You don't need to use the CAD to derive measurements, angles, or other geometry. Reverse engineering is an excellent example. If I take a knob for my stove, measure every way I can and then reproduce it in CAD, does that make me the original author of the design? No. I derived my design from the original knob. Albeit this is an extreme example of derivation, the same can still be seen in your design.

We are imploring you to abide by the GPL3 License as your work clearly falls under it.

If last was true then I would not spend a minute in this discussion and would open source everything under GPL, as I am doing on my Printables account. So far it seems like it is free interpretation of what "derivative work" may be. In software, reverse engineering as disassembling code would be considered as GPL. While re-implementing binary search is not, even if API would be identical to some GPL library, unless sources of that library was used for creating new library.

I would more insist on https://en.wikipedia.org/wiki/Clean_room_design case here.

MasturMynd commented 1 year ago

This project is clearly made to help the community, to give everyone access to high-quality well-designed parts. If you don't see that that's on you

Except releasing the CAD and abiding by GPL3 would help the community more by making the design more available to others.

I'm just gonna leave this here and be done with it: https://discord.com/channels/460117602945990666/1041007230239125574/1102774158749859880

Derivative work is admitted and compliance with GPL3 was accepted. Not sure what changed between then and now.

Vitalii3D-xyz commented 1 year ago

Derivative work is admitted and compliance with GPL3 was accepted. Not sure what changed between then and now.

No, I don't see it ever been admitted or GPL3 was accepted. Can you please quote that part? I agree that I have agreed on release sources, the same was as my first reply on this thread.

If there were easy money to be made here I doubt Voron would exist as we know and love it.

I am personally feel offended by this statement. What are "easy money" here?

MasturMynd commented 1 year ago

Can you please quote that part?

Screenshot_20230708-142326

I am personally feel offended by this statement. What are "easy money" here?

The only reason to release the design under a license where other people can make it for themselves but not sell it would be to ensure that you're the only one selling them. This is the exact opposite of what the Voron community stands for.

You'll have to excuse me if this came across as crass. That entire message was written at 7am and sleep was eluding me. No offense meant, as I was trying to outline that selling one off designs based on the work of the Voron team wouldn't be lucrative.

Vitalii3D-xyz commented 1 year ago

@MasturMynd @rogerlz @samwiseg0 @Crawlerin-SA I believe that this is unlikely that some people become interested in this issue in such short period of time. If you have chat or discord channel where you cooperate then can you please add me so we can discuss it in realtime and be more efficient?

Vitalii3D-xyz commented 1 year ago

@MasturMynd I strongly disagree that quoted message is accepting GPL3 or admitted derived work. I read GPL3 couple of times, have tried to find examples for CAD or hardware in general and figured out that conversation in discord was misleading and I didn't break any single rule of GPL 3. So as I said "I am not going to break the rules"

Crawlerin-SA commented 1 year ago

@MasturMynd @rogerlz @samwiseg0 @Crawlerin-SA I believe that this is unlikely that some people become interested in this issue in such short period of time. If you have chat or discord channel where you cooperate then can you please add me so we can discuss it in realtime and be more efficient?

Hello, best course of action would be opening Engineering ticket - the button is in #request_help channel. Then it can be discussed with Engineering directly, including Badnoob, and pull other people in as necessary.

Vitalii3D-xyz commented 1 year ago

I have spent a lot of time discussing this issue with badnoob in discord chat. He convinced me that accepting GPLv3 is the only way to move forward. I will provide cad files and GPLv3 license within a day.

Vitalii3D-xyz commented 1 year ago

25% discount until 29th of Jul for everyone :) https://www.etsy.com/shop/Vitalii3D?coupon=GPL3TOBE