Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
en:philosophy:rust_trademark [2024/01/03 12:10]
throgh [About Rebranding]
en:philosophy:rust_trademark [2024/11/22 23:21] (current)
throgh [What are the issues?]
Line 17: Line 17:
  
 In short, the **Rust Foundation won't be happy with us applying patches and modifications** to their trademarked language **without "explicit approval", so it is a freedom issue**. We should not have to ask for modifications. For further references, [[https://github.com/rust-lang/rust/issues/93157|there is a report in Rust about those trademark restrictions]] and [[https://github.com/rust-lang/rust/issues/53287#issuecomment-414472372|Niko's response (one of the members of the Rust Legal Team)]]. In short, the **Rust Foundation won't be happy with us applying patches and modifications** to their trademarked language **without "explicit approval", so it is a freedom issue**. We should not have to ask for modifications. For further references, [[https://github.com/rust-lang/rust/issues/93157|there is a report in Rust about those trademark restrictions]] and [[https://github.com/rust-lang/rust/issues/53287#issuecomment-414472372|Niko's response (one of the members of the Rust Legal Team)]].
 +
 +A free and libre oriented system cannot provide a package-manager besides its own to preserve the autonomy of the free system itself. What the users are doing is their own decision, but they should be always able to assure a consistent free and libre oriented system outside their own decisions that they are responsible for. If we would remove **Cargo**, we would need to ask for permission when we call the package **Rust**. And if we remove the package-manager (**Cargo**) we also create a not useful result as **Rust** depends on it fully when building. If we add needed dependencies for software based on **Rust**, we enlarge the number of our packages provided.
  
 To summarize the issues: To summarize the issues:
Line 22: Line 24:
   * demands to ask for allowing modifications   * demands to ask for allowing modifications
   * complex structures   * complex structures
-  * mandatory package-manager for build+  * mandatory package-manager for building
   * packages downloaded at build-time can be non-free, so keeping that outside makes the whole build-system and infrastructure even more complex   * packages downloaded at build-time can be non-free, so keeping that outside makes the whole build-system and infrastructure even more complex
  
-The listing above only shows the major points, furthermore the Rust-Foundation is overreacting in our perspective with their trademarked language and demands handlings violating in fact free, libre software as it is based most on ethics and moral decisions as important, not what possible legal issues could be there.+The listing above only shows the major points, furthermore the Rust-Foundation is overreacting in our perspective with their trademarked language and demands handlings violating in fact free, libre software as it is based most on ethics and moral decisions as important, not what possible legal issues could be there. So to conclude:  We cannot include **Rust** as it is not compliant with the elementary direction Hyperbola is oriented on.
 ===== Big Picture ===== ===== Big Picture =====
  
Line 38: Line 40:
   * [[https://github.com/GNOME/librsvg|librsvg being completely rewritten in Rust]]   * [[https://github.com/GNOME/librsvg|librsvg being completely rewritten in Rust]]
   * [[https://blog.clamav.net/2022/05/clamav-01050-01043-01036-released.html|ClamAV is enforcing the Rust-toolchain since v0.105]]   * [[https://blog.clamav.net/2022/05/clamav-01050-01043-01036-released.html|ClamAV is enforcing the Rust-toolchain since v0.105]]
-  * [[https://github.com/uutils/coreutils|GNU coreutils getting a cross-platform rewrite in Rust]]+  * [[https://github.com/uutils/coreutils|GNU coreutils getting a cross-platform implementation in Rust]]
  
 The list can be enhanced for sure and clear to say that Rust is not only some sideload toolchain. As the buzzword "memory safety" is being in usage more and more projects get on this. Yes, the rewrite of GNU coreutils is not the main project. But who says exactly that this won't be the near future? As all the other points in this article were long before described, not solved and just accepted. It is a bad and foul compromise, endangering freedom of choice, user freedom for sure and also the freedom for system-distributions and operating-systems like Hyperbola. The list can be enhanced for sure and clear to say that Rust is not only some sideload toolchain. As the buzzword "memory safety" is being in usage more and more projects get on this. Yes, the rewrite of GNU coreutils is not the main project. But who says exactly that this won't be the near future? As all the other points in this article were long before described, not solved and just accepted. It is a bad and foul compromise, endangering freedom of choice, user freedom for sure and also the freedom for system-distributions and operating-systems like Hyperbola.
 +
 +It should be also mentioned that the **Rust Foundation** has a comparable [[https://foundation.rust-lang.org/members/|members-list ]] like the [[https://www.linuxfoundation.org/about/members|Linux Foundation]]. Speaking about a "community" is therefore not fitting in any way as those members are just companies and corporations. Neither Rust nor Linux are real [[en:philosophy:community_software|community-oriented software]] and the FSF has failed to fork the kernel as GNU/Linux-libre for a long time now. That's the point for Hyperbola to become independent in a whole.
 ===== Solutions ===== ===== Solutions =====
   * **Rebranding** the entire language to avoid the trademark restriction. Such as [[https://www.gnu.org/software/gnuzilla/|IceCat]] was made to replace Firefox and [[https://wiki.hyperbola.info/iceweasel-uxp|Iceweasel-UXP]] to replace Basilisk; however it is a programming language, not a browser. **A rebranded version of Rust   * **Rebranding** the entire language to avoid the trademark restriction. Such as [[https://www.gnu.org/software/gnuzilla/|IceCat]] was made to replace Firefox and [[https://wiki.hyperbola.info/iceweasel-uxp|Iceweasel-UXP]] to replace Basilisk; however it is a programming language, not a browser. **A rebranded version of Rust
Line 54: Line 58:
 We know that there is the claim it would be "easy to rebrand like Mozilla Firefox", so we want to take this point and explain further why those things are different levels of complexity. We know that there is the claim it would be "easy to rebrand like Mozilla Firefox", so we want to take this point and explain further why those things are different levels of complexity.
  
-Rust is a complex language and framework including also an own package-manager, documentation and sources for building. Firefox is an application for users. **Rebranding an application is one thing and rebranding a complete programming-language is not comparable.** When people use this claim for Rust, they are doing something being not honest in the perspective that it is not sufficient to just rename some resulting binaries: The rebranding of Rust includes not only the binaries and some messages, there is the documentation, the included sources, possible notes within the source-files, libraries and also the whole building-framework around. Yes, we also know about the project [[https://crablang.org/|CrabLang]]. But that exactly underlines again our points: If it would have been that easy as some people say, this project would have already made a stable release and informed about that.+Rust is a complex language and framework including also an own package-manager, documentation and sources for building. Firefox is an application for users. **Rebranding an application is one thing and rebranding a complete programming-language is not comparable.** When people use this claim for Rust, they are doing something being not honest in the perspective that it is not sufficient to just rename some resulting binaries: The rebranding of Rust includes not only the binaries and some messages, there is the documentation, the included sources, naming for files, possible notes within the source-files, libraries and also the whole building-framework around. Yes, we also know about the project [[https://crablang.org/|CrabLang]]. But that exactly underlines again our points: If it would have been that easy as some people say, this project would have already made a stable release and informed about that.
  
 And all besides rebranding alone is also not enough: As we also mentioned already that Cargo may pull non-free packages and dependencies. Again to point out: **It is not enough to talk about "rebranding" as Rust itself needs therefore also to be completely reworked for having it easier to handle with its dependencies at build-time.** And all besides rebranding alone is also not enough: As we also mentioned already that Cargo may pull non-free packages and dependencies. Again to point out: **It is not enough to talk about "rebranding" as Rust itself needs therefore also to be completely reworked for having it easier to handle with its dependencies at build-time.**
 ===== Comparisons with other software trademarks ===== ===== Comparisons with other software trademarks =====
  
-Some users have correctly mentioned that many other software packages have trademarks, do we plan to remove them all? No. We are not against all trademarks, only those which explicitly prohibit normal usepatching, and modification.+Some users have correctly mentioned that many other software packages have trademarks, do we plan to remove them all? No, but we see trademarks generic also not under a positive aspect when they are used that kind of harsh. 
 + 
 +As an example, neither [[https://www.python.org/psf/trademarks/|Python PSF]] nor [[https://www.perlfoundation.org/trademarks.html|Perl Trademarks]] currently prohibit patching the code without prior approval. They do prohibit abuse of their trademarks, e.g. you cannot create a company called "Python", but this does not affect your ability to modify their free software and/or apply patchesAnd to underline again: We just refer towards patching the software-packages, not towards the generic trademark. 
 + 
 +Due to the very strict written modification-clause, Rust is a non-permissive trademark that violates user freedom. 
 +===== But including Perl and / or Python, while both having also a strong trademark? ===== 
 + 
 +Both projects have a clear trademark to protect the usage of the software itself against fraud. There is a difference as Python and Perl allow patching and modification defined within the four freedoms. 
 + 
 +From [[https://www.python.org/psf/trademarks/|Python]]: 
 + 
 +<code> 
 +(...) 
 + 
 +Use of the word "Python" when redistributing the Python programming language as part of a freely  
 +distributed application -- Allowed. If the standard version of the Python programming language is  
 +modifiedthis should be clearly indicated. For commercial distributions, contact the PSF for permission if  
 +your use is not covered by the nominative use rules described in the section "Uses that Never Require  
 +Approval" above. 
 + 
 +(...) 
 +</code> 
 + 
 +From [[https://www.perlfoundation.org/trademarks.html|Perl]]: 
 + 
 +<code> 
 +(...) 
 + 
 +People sometimes ask if TPF's use of an onion in the Perl logo means that independent projects that use or  
 +relate to Perl need TPF's permission to use an onion of their own design in connection with their project. 
 +​ 
 +The answer is "not necessarily" as long as no likelihood of confusion is created. One of the fundamental  
 +legal bases for trademark protection is to make sure that the public can depend on a mark as an accurate  
 +indicator of a particular source or relationship, and one way of defining trademark infringement is to say  
 +that the infringing mark creates a likelihood of confusion. Likelihood of confusion is determined based not  
 +only on making a comparison of the marks side-by-side, but also on making a comparison of the contexts  
 +in which they are actually used. Thusit's easy to imagine independent onions that would be fine, and  
 +independent onions that might not be. Contact us at trademark@perlfoundation.org if you have any  
 +questions, or would like us to evaluate a particular logo or usage to see if it would be an infringement. 
 + 
 +(...
 +</code>
  
-As an example, neither [[https://www.python.org/psf/trademarks/|Python PSF]] nor [[https://www.perlfoundation.org/trademarks.html|Perl Trademarks]] currently prohibit patching the code without prior approval. They do prohibit abuse of their trademarkse.g. you cannot create a company called "Python", but this does not affect your ability to modify their free software and/or apply patches.+The comparisons are done intentional as Rust has no further interest within patching and modifications outside for special use-cases. We refer here exactly to the point againIt is possible to modify Python and Perl, calling both same wayIt is not possible to modify Rust and a modification and complete rebranding is beyond possible without approaching that genericSo this is surely no point for a small team and project like Hyperbola!
  
-Due to the anti-modification clauseRust is a non-permissive trademark that violates user freedom.+And we close again for all interested with the definition of freedom: **Freedom is the power or right to actspeak, and change as one wants without hindrance or restraint.**  
 +Demanding the opposite is not freedom per definition and surely freedom always is included with responsibility. So we speak only on behalf for Hyperbola as project as we write down our reasoning. Others may see it different, but this does not redefine our points here.