4 ms·
I found the issue I think Microsoft is going to actually foul up poorly here, which I... went ahead and filed an issue on: https://github.com/microsoft/winget-p
by ocdtrekkie 6y ago
I found the issue I think Microsoft is going to actually foul up poorly here, which I... went ahead and filed an issue on: https://github.com/microsoft/winget-pkgs/issues/288 https://github.com/microsoft/winget-pkgs/issues/288
In short, a Microsoft employee added AdoptOpenJDK 8 to the repo. ...Java 8? ...In 2020? Another user has opened a PR to add what looks like the FSF's OpenJDK 14 to the repo. So are we supporting 8 or 14? Are users who want to "winget install openjdk" going to get 8 or 14, Adopt or FSF?
I doubt Microsoft is willing to pick winners or losers or opinionate on the authority of third party package sources, and hence, the dream of "winget install powertoys" will probably only reliably do what it should for Microsoft tools.
- rbanffy 6y agoYou can have multiple versions of Java on your machine. Packages in other OSs usually have lists of packages they depend upon, packages they conflict with, and "virtual" packages they provide. Therefore, an app that prefers OpenJDK 14 can require it directly while one that doesn't care can require a virtual package called 'java' that's provided by both 8 and 14.
- ocdtrekkie 6y agoSure, but it doesn't really look like Microsoft has a plan or implementation for this yet, and currently serves a version of Java from 2014.
- Operyl 6y agoJava 8 is still widely used, it seems. For example, Mojang (owned by Microsoft) still ship Java8 with Minecraft. Pretty sure 8 still gets updates in 2020 too.
- throwaway8941 6y agoHell, even Spring boilerplate generator still defaults to Java 8. https://start.spring.io/ https://start.spring.io/
- ocdtrekkie 6y agoJava 8 still gets updates, but you have to have a license to get them for business use (kind of like paying for extended support for Windows 7). And then things like OpenJDK fill the gap by making an open source release available that doesn't cost money you can drop in as a replacement. Sure, there are still products that use it (the oldest legacy Java app I still see runs on OpenJDK 11 just fine, mind you), but if you're launching a new package manager in 2020, the only apps that will use it are new apps. So you might as well start with the latest possible release. There's no good reason for Windows Package Manager to start with OpenJDK 8 as the baseline.
- fomine3 6y agoLatest Oracle JDK8 needs license but AdoptOpenJDK8 is still supported and free.
- ocdtrekkie 6y agoI'm aware. But the point is that it highlights how old Java 8 is: The original developer has moved it from being a free version to something you have to pay them for fixes to. This is similar to how Windows 7, an 11 year old operating system, gets patches at this point.
- fomine3 6y agoOracle JDK11 also needs a license like Oracle JDK8. So not good a metric for how the software old. (Another example: CentOS6 still supported but free)
- vips7L 6y agoIt also installs OpenJ9 instead of HotSpot which is what most people are expecting when they install the JDK. For now I'd recommend using the Scoop Java Bucket [0] if you want to install the jdk. https://github.com/scoopinstaller/Java https://github.com/scoopinstaller/Java
- vbezhenar 6y agoWhat's wrong with Java 8? It's probably the most widely used Java.
- rleigh 6y agoJava 8 is six years old. It's not remotely current. Java 14 is the current release. Java 11 is the current LTS release. Depending upon your priorities, either of them would make sense to pick as a default. Most package managers provide multiple JDK versions, but default to the newest stable version for the default metapackage.
- SamuelAdams 6y agoI worked at a consulting firm in 2019 and one client had us upgrading some legacy, but still essential, applications from Java 6 to Java 8. So yeah it’s still relevant. Enterprise systems for a slow, painful, terribly drawn out death.
- karianna 6y agoThis was a bug of sorts, we’ve engaged the Java team at Microsoft to get this sorted. Disclaimer - I run the Java team at Microsoft
- ocdtrekkie 6y agoGood to hear. While I noticed Java as the example here, I feel this does speak to a general issue about how to handle multiple releases and some of the decision-making the Package Manager team is going to need to have in place before this leaves preview. For winget to be not just useful, but trusted, it needs to make decisions, not just be an open dumping ground for package installers. The decisions the team chooses will end up informing the community on the reliability of it as a platform. And I'm definitely excited to see what happens here!