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:java_downfalls [2022/03/24 00:39]
i3_relativism add note to avoid aproval
en:philosophy:java_downfalls [2022/03/28 16:26] (current)
i3_relativism [Comparisons with other software trademarks]
Line 1: Line 1:
-<note warning> This page is still in progress, so please dont aprove this draft yet!</note> 
- 
 ====== Java's Language Downfalls ====== ====== Java's Language Downfalls ======
  
-As free software activists, we all enjoy using the latest and greatest in free software, but we need to make sure that **the software we are using really does respect our freedom**. A lot of software **relies and depends on Java**, since it appears to be fully free software, **nontheless we have many concerns with implementation and decisions** made by authors of this language.+As free software activists, we all enjoy using the latest and greatest in free software, but we need to make sure that the software we are using **really does respect our freedom**. A lot of software relies and **depends on Java**, since it appears to be fully free software, nontheless we have many concerns with **implementation** and **decisions** made by authors of this language.
  
 ===== What are the issues? ===== ===== What are the issues? =====
  
-Removal reasons: +Firstly the **OpenJDK** trademark policy is problematic, [[https://issues.hyperbola.info/index.php?do=details&task_id=736|similar to rust]]. Their trademark license **imposes restrictions** for the **redistribution of modified versions** that making it inconvenient to exercise [[https://www.gnu.org/philosophy/free-sw.html|freedom 3]]. The [[https://openjdk.java.net/legal/openjdk-trademark-notice.html|OpenJDK Trademark]] says **"changes required", "so long as that work takes place in the context of an approved Project hosted in the OpenJDK Community"**. Therefore everything abranged by Java project (OpenJDK and JVM) cant be **patched and/or modified** without **approval** by the "community".
- +
-OpenJDK is trademarked and is not to be distributed without modification unless restrictions are respected. +
-* Security: Java has been one of the most common infection vectors for GNU/Linux. Poor coding practices in JVM have resulted in many popular cross-platform exploits. +
-Packaging Standards: All current PKGBUILDs that were inherited from Arch are "dirty" in the sense that they download various pre-compiled and pre-packaged binaries. These are a risk to our users. To properly build them requires several hundred additional PKGBUILDs and the time to rebuild Java from scratch. This would require considerable effort and is not currently feesable at this time. +
- +
-** ** (jvm) [[https://issues.hyperbola.info/index.php?do=details&task_id=736|write here]]. **Their trademark license imposes requirements** for the distribution of modified versions that **make it inconvenient to exercise freedom 3**. The [[https://openjdk.java.net/legal/openjdk-trademark-notice.html|OpenJDK Trademark]] says **"changes required", "so long as that work takes place in the context of an approved Project hosted in the OpenJDK Community"**. Therefore everything abranged by Java project (OpenJDK and JVM) must follow this obnoxious clauses.+
  
-In short**Mozilla won't be happy with us applying patches and modifications** to their trademarked language **without "explicit approval", except for non-commercial usage, so it is a freedom issue**. 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)]].+Secondlyon what comes to security ([[https://wiki.hyperbola.info/doku.php?id=en:project:social_contract|privacy<-security<-freedom]]), Java has been one of the most common **infection vectors** for UNIX based systems. Poor **coding practices in JVM** have resulted in many popular [[https://www.cvedetails.com/cve/CVE-2011-3544/|cross-platform exploits]].
  
-OpenJDK Trademark Notice: https://openjdk.java.net/legal/openjdk-trademark-notice.html +And Lastly, current or previously **used PKGBUILDs that were inherited from Arch** and are less then prefected, in the sense that they download various **pre-compiled and pre-packaged binaries**, which obviously goes against **Hyperbola ideals** and [[en:project:social_contract|Social Contract]]These are a risk to our usersTo properly build them requires several hundred additional PKGBUILDs and the time to rebuild Java from scratch. This would r**equire considerable effort** and is not **currently feesable given the [[https://www.hyperbola.info/members/developers/|size of our team]]**.
-Criticism of Javahttps://en.wikipedia.org/wiki/Criticism_of_Java +
-Java security: https://en.wikipedia.org/wiki/Java_security+
  
 +In short, **OpenJDK won't be happy with us applying patches and modifications** to try to adress this issues in to their trademarked language** without approval, or the need for entire language rebrand, so it is belated atack to our users freedom**. For further references, [[https://en.wikipedia.org/wiki/Criticism_of_Java|Criticism to Language itself]] as well has [[https://en.wikipedia.org/wiki/Java_security|Criticism to repeated Security Vunerabilities]]. And also our article on [[en:philosophy:rust_trademark|Rust trademark]], given the similarities with it
 ===== Big Picture ===== ===== Big Picture =====
  
Line 28: Line 19:
  
 ===== 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 Java 
-maintained by the GNU Project and FSDG-compliant distros could be the way**. However, we would need patches to adapt all Rust-dependant applications to the modified version of Rust, since it is a programming language. We would also need to maintain a list of nonfree cargo packages to blacklist those for [[https://www.hyperbola.info/packages/core/any/your-freedom/|your-freedom]].+maintained by the GNU Project and FSDG-compliant distros could be the way**. However, we would need **patches** to adapt all **Java-dependant applications** to the rebranded version of Java, since it is a programming language. We would also not be able to adress the problems that come with the sheer size of main packages, as well as all the **not discloused secutity predicaments** of this language.
  
-  * Getting Rust to change its trademark agreement to allow modifications on the rust binary for any purpose in respect of [[https://www.gnu.org/philosophy/free-sw.html|Freedom 3]].+  * Getting OpenJDK to change its trademark agreement to allow modifications on the java binary for any purpose in respect of [[https://www.gnu.org/philosophy/free-sw.html|Freedom 3]].
  
 ===== Comparisons with other software trademarks ===== ===== Comparisons with other software trademarks =====
Line 39: Line 30:
 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 patches. 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 patches.
  
-Due to the anti-modification clause, Rust is a non-permissive trademark that violates user freedom.+Due to the anti-modification clause, OpenJDK is a non-permissive trademark that violates user freedom.