Le lundi 18 mai 2020 à 14:12 +0200, Michal Srb a écrit :
> Hello,
> 
> On Sat, May 16, 2020 at 11:24 AM Nicolas Mailhot via devel <
> devel@lists.fedoraproject.org> wrote:
> > Le vendredi 15 mai 2020 à 08:30 -0700, stan via devel a écrit :
> > > On Fri, 15 May 2020 08:02:34 +0200
> > > Michal Srb <m...@redhat.com> wrote:
> > > 
> > > An aside, just to clarify for myself.  That means that all Java
> > apps
> > > are
> > > the equivalent of statically linked, right?  And are related to
> > > things
> > > like flatpaks and modules?
> > 
> > No, that’s similar to venv everywhere. The language has bytecode-
> > sharing objects. Java upstreams just got used not to share those
> > executable objects between projects, not to version them properly,
> > not
> > to manage their ABI breaks, and to change things in the local copy
> > instead of contributing changes to the original project.
> 
> Well... Java upstreams share their JARs by uploading them to a public
> Maven repository (Maven Central most of the time). And in the vast
> majority of cases there are also "source-JARs" (containing source
> code) uploaded alongside the bytecode JARs. I am simplifying things
> here a bit, but basically when Java open source projects want to ship
> their apps, they fetch pre-built dependencies from Maven Central,
> compile their apps, and bundle everything (app bytecode + pre-built
> deps) in a tarball. And that's what they ship.

If Java finally left the stone age, there should be no problem building
the same artefacts in rpm, installing them in a central place like
%{_datadir}/java or %{_libdir}/java, and making it a package other java
software can buildrequire. We managed it in Go, and we did not even
have a language versionning infra to build upon.

> > That’s non-free software open source to its extreme. The code is
> > available for a dev to copy and resell at his next work, but
> > everything is organised (at the human not technical level) so it’s
> > not possible to reuse the bytecode directly without paying someone
> > to copy and fork the original code that this bytecode was generated
> > from in the next project.
> 
> I'd like to know more about this if you don't mind. This is
> definitely not how open source Java apps are developed.

Free software is end user not dev oriented. Stallman wanted his printer
driver to work. The GPL gives rights to the recipient. As long as the
toolchain is broken enouth even huge downstreams like distros are
unable to rebuild the source easily, you have something that may be
open source, but does not function as effective free software.

And when downstreaming is broken upstreaming is broken too (who will
bother contributing to an upstream when things do not flow the other
way?).

As spot wrote a long time ago, the only useful form of open source for
Fedora (and a lot of other entities) is free software.

-- 
Nicolas Mailhot
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org

Reply via email to