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/28 16:26]
i3_relativism [Java's Language Downfalls]
en:philosophy:java_downfalls [2024/12/09 17:58] (current)
throgh [What are the issues?]
Line 5: Line 5:
 ===== What are the issues? ===== ===== What are the issues? =====
  
-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".+Firstly the **OpenJDK** trademark policy is problematic. 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 by Java project (OpenJDK and JVM) can'be **patched and/or modified** without **approval** by the "community".
  
-Secondly, on 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]].+Secondly, on what comes to security, 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]].
  
-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 users. To 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]]**.+And lastly, current or previously used packaging-scripts are not very trustworthy, in the sense that they download various **pre-compiled and pre-packaged binaries**, which obviously goes against our ideals and our [[en:project:social_contract|social contract]]. These are a risk to our users. To properly build them requires several hundred additional PKGBUILDs and the time to rebuild Java from scratch.
  
-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 +For further references, [[https://en.wikipedia.org/wiki/Criticism_of_Java|criticism to the language itself]] as well has [[https://en.wikipedia.org/wiki/Java_security|criticism to repeated security vunerabilities]].
-===== Big Picture ===== +
- +
-There are various project utilizing Java as a aceptable language. I2P is one of them, has well as a huge plenora of projects. +
- +
-<note tip>As an alternative to the java I2P implementation, [[https://i2pd.website/|i2pd (I2P Daemon)]] may be used. It is a full-featured C++ implementation of I2P client, **useful for building and using the anonymous I2P network**. However, this implementation still lacks some features given is overall less mature.</note>+
  
 ===== 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 Java 
-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 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 ===== 
- 
-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 use, patching, and modification. 
  
-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 approvalThey do prohibit abuse of their trademarks, e.g. you cannot create company called "Python", but this does not affect your ability to modify their free software and/or apply patches.+There are no real further solutions as **Java is a clearly trademark-protected language**It will always come towards a conflict with the persons organizations owning the trademark and rightsAnd so-called "clean roomimplementation is not in reach besides Java itself has a field full with more complexity. Hyperbola has chosen to keep Java and OpenJDK complete outside of the system, with all affected dependencies and packages.
  
-Due to the anti-modification clause, Rust is a non-permissive trademark that violates user freedom.