Re: FOSDEM 19 Debian Java talk

2019-02-06 Thread Markus Koschany
Hi,

I'm still recovering from the infamous conference flu but I wanted to
give you a short report about the talk and the discussions afterwards.

You can find all the relevant links here. [1]

While I was going through all the stuff we talked about, I realized that
I would easily exceed my time limit. Thus I focused on Emmanuel's
suggestion to present our achievements during the Buster release cycle
in the first part and then I tried to explain the difference between
Java's version centric approach and Debian's preferences.

Apparently that aroused some interest and I got feedback from four
audience members after the talk.

The Fedora maintainer of Tycho and Eclipse offered help and support if
someone wants to update and maintain Eclipse.

Someone wanted to get more involved in Debian Java and I suggested to
get involved by contacting debian-java@lists.debian.org.

Andrej Shadura told me that he was working on Kotlin but discovered the
same issues I mentioned during my talk.

Another Java developer approached me and told me that he was impressed
by the amount of work we are doing but couldn't understand why we would
waste our talent on fighting Java build systems. ;) He was employed in a
company with 1500 employees that only does Java stuff and he told me
that 90% of his use cases are uberjars and docker images. :)

In conclusion I can highly recommend to visit FOSDEM once at least
because it is a great opportunity to connect with people and to broaden
one's mind.

I can also recommend to view some of these talks:

https://fosdem.org/2019/schedule/track/free_java/

especially

https://fosdem.org/2019/schedule/event/java_language_futures/

where Brian Goetz talks about what we can expect from Java language-wise
in the future. Project "Valhalla" and "Metropolis" (integrating GraalVM
into OpenJDK?) sounded promising. In a nutshell nobody should have to
worry about Java. It looks like it will last for another 20 years at least.

That's it for now.

Markus


[1]
https://fosdem.org/2019/schedule/event/debian_java/

https://fosdem.org/2019/schedule/event/debian_java/attachments/slides/3231/export/events/attachments/debian_java/slides/3231/FOSDEM19_Debian_Java.odp

https://fosdem.org/2019/schedule/event/debian_java/attachments/paper/3232/export/events/attachments/debian_java/paper/3232/FOSDEM19_Debian_Java.pdf

https://video.fosdem.org/2019/H.2215/debian_java.mp4
https://video.fosdem.org/2019/H.2215/debian_java.webm



signature.asc
Description: OpenPGP digital signature


Re: FOSDEM 19 Debian Java talk

2019-02-01 Thread Markus Koschany

Am 01.02.19 um 23:53 schrieb Emmanuel Bourg:
> Le 01/02/2019 à 22:41, Markus Koschany a écrit :
> 
>> It is not very important but if you have some spare time in the next month
>> we could figure this out and create some sort of statistics page like
>>
>> https://blends.debian.org/games/maintstats/
>>
>> just with more information and for fun.
> 
> The same charts are generated for the Java Team if that helps:
> 
> http://blends.debian.net/liststats/authorstat_debian-java.png
> http://blends.debian.net/liststats/authorstat_pkg-java-maintainers.png
> http://blends.debian.net/liststats/bugs_pkg-java.png
> http://blends.debian.net/liststats/commitstat_pkg-java.png
> http://blends.debian.net/liststats/maintainer_per_package_pkg-java.png
> 

Ah, interesting. I think the bugs closed graph is the most interesting
one. I always had the feeling the bugs rate increased at an exponential
rate for me. Still that would be more than 1000 bugs closed in the past
two years for all of us. I have to find a way to verify that at some
point in time but it doesn't feel too absurd right now.

Thanks,

Markus




signature.asc
Description: OpenPGP digital signature


Re: FOSDEM 19 Debian Java talk

2019-02-01 Thread Emmanuel Bourg
Le 01/02/2019 à 22:41, Markus Koschany a écrit :

> It is not very important but if you have some spare time in the next month
> we could figure this out and create some sort of statistics page like
> 
> https://blends.debian.org/games/maintstats/
> 
> just with more information and for fun.

The same charts are generated for the Java Team if that helps:

http://blends.debian.net/liststats/authorstat_debian-java.png
http://blends.debian.net/liststats/authorstat_pkg-java-maintainers.png
http://blends.debian.net/liststats/bugs_pkg-java.png
http://blends.debian.net/liststats/commitstat_pkg-java.png
http://blends.debian.net/liststats/maintainer_per_package_pkg-java.png

Emmanuel Bourg



Re: FOSDEM 19 Debian Java talk

2019-02-01 Thread Emmanuel Bourg
Le 01/02/2019 à 22:46, Markus Koschany a écrit :

> What numbers do we have if you include the libraries too?

These numbers include the libraries (but they weren't listed above).


> Hmm. Why is this different from
> 
> https://qa.debian.org/developer.php?email=pkg-java-maintainers%40lists.alioth.debian.org
> 
> The page lists 1191 packages in main.

Because it includes oldstable+stable+testing+unstable. 1003 is for
testing only.

That said, I forgot to include the new Clojure packages. It brings
Leiningen 2.8.1 to the list of available build tools, and the numbers
become:

  Total packages added to testing: 195
  Total packages removed from testing: 95
  Total packages updated in testing: 296
  Total packages upgraded in testing: 291

  Number of packages in stable: 932
  Number of packages in testing: 1033 (+10,84%)

Emmanuel Bourg



Re: FOSDEM 19 Debian Java talk

2019-02-01 Thread Markus Koschany


Am 01.02.19 um 21:39 schrieb Emmanuel Bourg:
> Le 01/02/2019 à 14:28, Emmanuel Bourg a écrit :

Great. Thanks!

> Total packages added to testing: 179
> Total packages removed from testing: 95
> Total packages updated in testing: 291
> Total packages upgraded in testing: 283

What numbers do we have if you include the libraries too?


> Number of packages maintained: 1003

Hmm. Why is this different from

https://qa.debian.org/developer.php?email=pkg-java-maintainers%40lists.alioth.debian.org

The page lists 1191 packages in main.

Cheers,

Markus



signature.asc
Description: OpenPGP digital signature


Re: FOSDEM 19 Debian Java talk

2019-02-01 Thread Markus Koschany
Hi!

Am 01.02.19 um 14:28 schrieb Emmanuel Bourg:
> Hi Markus,
> 
> Le 29/01/2019 à 19:00, Markus Koschany a écrit :
> 
>> I will attend FOSDEM 19 in Brussels this weekend (03.02.2019, 12:40
>> local time) and give a lightning talk (15 min) about our heroics.
>>
>> https://fosdem.org/2019/schedule/event/debian_java/
> 
> Thanks a lot for holding that talk. I won't be able to attend by I can
> make some suggestions.

Would have been great to see you there. Next time!

>> Naturally there is not enough time to explain everything in detail but
>> it should be adequate to put our message across. Here is your chance.
>> What do you consider important or what would you like other people from
>> the community to know?
> 
> You could maybe summarize the upcoming Java related changes in Buster. I
> started thinking about a blog post on this topic, the freeze is the good
> time to publish it. Some items worth mentioning:
> - the transition to OpenJDK 11 and the massive effort involved (more
> than 400 package updates the last time I counted)
> - the state of the build tools. Ant and Maven are up to date, Gradle is
> stuck at the last pre-Kotlin version. SBT still being worked on.
> - the state of the JVM languages: Groovy 2.14, Scala 2.11.12 (2.12
> requires SBT), Clojure 1.9. Kotlin is wanted but difficult to bootstrap.
> - the state of the IDEs: Eclipse is gone (lack of maintainers), Netbeans 10
> - on the application servers side: Jetty 9.4 and Tomcat 9, fully up to
> date, and now with systemd integration.
> - the reproducibility rate is now around 85% (Stretch was around 75%).

Perfect. Will be mentioned.


>> I would like to reuse some of the scripts that we used for our last blog
>> post in 2016 [1] to fetch some packaging statistics. Are those scripts
>> still available? Otherwise I intend to use UDD a lot.
> 
> I have a script that compares the packages between two releases but I
> haven't published it yet. I'll run it and post the result for the
> stretch/testing differences (it doesn't addresses the maintainer/bug
> counts though).

I tried to gather some fine grained statistics about bugs and used

https://udd.debian.org/bugs/

for that. However the results appear very strange to me. There is even a
selection for "Java team". I just wanted the total bugs reported in the
past 600 days and all RC bugs and all RC bugs fixed (done). It is not
very important but if you have some spare time in the next month we
could figure this out and create some sort of statistics page like

https://blends.debian.org/games/maintstats/

just with more information and for fun.


>> What specific OpenJDK changes caused the most grief?
> 
> - New layout of the JDK installation
> - Removal of tools.jar
> - Removal of the JavaEE APIs (activation, JAXB, JAXWS...)
> - Removal of javah
> - javac source/target pre 1.6 removal.
> - ByteBuffer return type changes (Java 11 compiled code breaks with 8)
> - sun.misc.Unsafe breaking changes
> - Javadoc pendantic errors, JQuery embedding
> 
> But let's not rant too much and keep the talk positive :)

I can't promise that. :)


>> Why we all love JavaDoc? :E
> 
> Grrr :)

:)



signature.asc
Description: OpenPGP digital signature


Re: FOSDEM 19 Debian Java talk

2019-02-01 Thread Emmanuel Bourg
Le 01/02/2019 à 14:28, Emmanuel Bourg a écrit :

> I have a script that compares the packages between two releases but I
> haven't published it yet. I'll run it and post the result for the
> stretch/testing differences.

Here is the summary for the stretch -> testing changes (the libraries
are not listed) :

Packages removed from testing:

 * androidsdk-tools
 * eclipse
 * eclipse-anyedit
 * eclipse-cdt
 * eclipse-cdt-pkg-config
 * eclipse-eclox
 * eclipse-egit
 * eclipse-gef
 * eclipse-linuxtools
 * eclipse-mercurialeclipse
 * eclipse-mylyn
 * eclipse-mylyn-tasks-github
 * eclipse-ptp
 * eclipse-pydev
 * eclipse-remote-services-api
 * eclipse-rse
 * eclipse-subclipse
 * eclipse-wtp
 * eclipse-xsd
 * glassfish
 * jsymphonic
 * jta
 * netbeans
 * openjdk-8-jre-dcevm
 * pirl
 * pleiades
 * procyon
 * sikulix
 * triplea

Packages added to testing:

 * gradle-completion (1.3.1)
 * hibiscus (2.8.8)
 * jameica (2.8.2)
 * jaxws (2.3.0.2)
 * maven-cache-cleanup (1.0.4)
 * omegat (3.6.0.10)
 * openjdk-11 (11.0.2+9)
 * sbt-ivy (2.4.0~rc1)
 * tomcat9 (9.0.14)

Packages upgraded in testing:

 * activemq (5.15.8)
 * ant (1.10.5)
 * antlr4 (4.7.1)
 * apache-directory-server (2.0.0~M24)
 * aspectj (1.9.2)
 * bnd (3.5.0)
 * checkstyle (8.15)
 * cobertura (2.1.1)
 * cup (0.11b-20160615)
 * derby (10.14.2.0)
 * ecj (3.16.0)
 * fop (2.3)
 * freeplane (1.7.2)
 * gradle (4.4.1)
 * groovy (2.4.16)
 * hsqldb (2.4.1)
 * ivyplusplus (1.28)
 * jabref (3.8.2+ds)
 * japi-compliance-checker (2.4)
 * java-common (0.71)
 * java-wrappers (0.3)
 * jaxb (2.3.0.1)
 * jblas (1.2.4)
 * jedit (5.5.0)
 * jetty9 (9.4.14)
 * jflex (1.7.0)
 * jhove (1.20.1)
 * jruby (9.1.13.0)
 * jtreg (4.2-b13)
 * jython (2.7.1+repack1)
 * libapache-mod-jk (1.2.46)
 * maven (3.6.0)
 * nailgun (0.9.3)
 * openjdk-8 (8u171-b11)
 * openjfx (11.0.1+1)
 * pdfsam (4.0.1)
 * proguard (6.0.3)
 * robocode (1.9.3.3)
 * scala (2.11.12)
 * simplyhtml (0.17.3)
 * stegosuite (0.8.0)
 * sweethome3d (6.0)
 * sweethome3d-furniture (1.6.4)
 * sweethome3d-furniture-editor (1.23)
 * tomcat-native (1.2.19)
 * tomcat8 (8.5.37) -> will be removed before the release
 * uimaj (2.10.2)
 * visualvm (1.4.2)
 * xmlbeans (3.0.2)
 * yui-compressor (2.4.8)
 * zookeeper (3.4.13)

Total packages added to testing: 179
Total packages removed from testing: 95
Total packages updated in testing: 291
Total packages upgraded in testing: 283

Number of packages maintained: 1003



Re: FOSDEM 19 Debian Java talk

2019-02-01 Thread Emmanuel Bourg
Hi Markus,

Le 29/01/2019 à 19:00, Markus Koschany a écrit :

> I will attend FOSDEM 19 in Brussels this weekend (03.02.2019, 12:40
> local time) and give a lightning talk (15 min) about our heroics.
> 
> https://fosdem.org/2019/schedule/event/debian_java/

Thanks a lot for holding that talk. I won't be able to attend by I can
make some suggestions.


> Naturally there is not enough time to explain everything in detail but
> it should be adequate to put our message across. Here is your chance.
> What do you consider important or what would you like other people from
> the community to know?

You could maybe summarize the upcoming Java related changes in Buster. I
started thinking about a blog post on this topic, the freeze is the good
time to publish it. Some items worth mentioning:
- the transition to OpenJDK 11 and the massive effort involved (more
than 400 package updates the last time I counted)
- the state of the build tools. Ant and Maven are up to date, Gradle is
stuck at the last pre-Kotlin version. SBT still being worked on.
- the state of the JVM languages: Groovy 2.14, Scala 2.11.12 (2.12
requires SBT), Clojure 1.9. Kotlin is wanted but difficult to bootstrap.
- the state of the IDEs: Eclipse is gone (lack of maintainers), Netbeans 10
- on the application servers side: Jetty 9.4 and Tomcat 9, fully up to
date, and now with systemd integration.
- the reproducibility rate is now around 85% (Stretch was around 75%).


> I would like to reuse some of the scripts that we used for our last blog
> post in 2016 [1] to fetch some packaging statistics. Are those scripts
> still available? Otherwise I intend to use UDD a lot.

I have a script that compares the packages between two releases but I
haven't published it yet. I'll run it and post the result for the
stretch/testing differences (it doesn't addresses the maintainer/bug
counts though).


> What specific OpenJDK changes caused the most grief?

- New layout of the JDK installation
- Removal of tools.jar
- Removal of the JavaEE APIs (activation, JAXB, JAXWS...)
- Removal of javah
- javac source/target pre 1.6 removal.
- ByteBuffer return type changes (Java 11 compiled code breaks with 8)
- sun.misc.Unsafe breaking changes
- Javadoc pendantic errors, JQuery embedding

But let's not rant too much and keep the talk positive :)


> Why we all love JavaDoc? :E

Grrr :)


Emmanuel Bourg



Re: FOSDEM 19 Debian Java talk

2019-02-01 Thread Hans-Christoph Steiner



Emmanuel Bourg:
> Le 30/01/2019 à 22:59, Hans-Christoph Steiner a écrit :
> 
>> I thought it was worth a blog post too, as a follow up to your talk:
>> https://salsa.debian.org/publicity-team/bits/merge_requests/16
> 
> Nice, remember the Java Team also has its own blog [1], that might be
> nice to announce the FOSDEM talk there. It's just a matter of updating
> the blog repository [2], the update is published automatically by a
> Gitlab trigger.
> 
> 
> [1] https://java.debian.net/blog/
> [2] https://salsa.debian.org/java-team/pkg-java-blog
> 

Ok, based on the git history, it looks like posts are just pushed
directly.  So I just pushed my post there.

Based on the feedback from the publicity team, I'll wait for an update
from apo on his FOSDEM talk and include that in the post on bits.debian.org.

.hc



Re: FOSDEM 19 Debian Java talk

2019-01-30 Thread Emmanuel Bourg
Le 30/01/2019 à 22:59, Hans-Christoph Steiner a écrit :

> I thought it was worth a blog post too, as a follow up to your talk:
> https://salsa.debian.org/publicity-team/bits/merge_requests/16

Nice, remember the Java Team also has its own blog [1], that might be
nice to announce the FOSDEM talk there. It's just a matter of updating
the blog repository [2], the update is published automatically by a
Gitlab trigger.


[1] https://java.debian.net/blog/
[2] https://salsa.debian.org/java-team/pkg-java-blog



Re: FOSDEM 19 Debian Java talk

2019-01-30 Thread Hans-Christoph Steiner



Markus Koschany:
> 
> 
> Am 30.01.19 um 11:10 schrieb Hans-Christoph Steiner:
>>
>> Great that you are giving that talk!  I think the Java Team's work is
>> generally under-appreciated, so getting the word out should help with
>> that.  Here's what I would add:
>>
>> I think one thing to mention is how the Debian Java Team has to
>> consistently fight the Java standard practice of bundling all deps into
>> a single JAR.  This means there is no shared security updates, each dev
>> has to update every dependency themselves in that model.  That works
>> great for large companies with staff devoted to doing that.
>>
>> For the majority of Debian use cases, that works poorly.  Debian
>> delivers on the promise that people can just "apt install foo" and have
>> it work, and receive security updates.  The user does not even need to
>> know what language the program is written in, it just works.
>>
>> Java developers need to learn the value of these use cases, and help
>> Debian by making it easier to package Java projects in the standard
>> distro method, with shared dependencies that are indepentently updated.
> 
> Thanks for your feedback. Yes, that's a very good point and I will
> mention it!

I thought it was worth a blog post too, as a follow up to your talk:
https://salsa.debian.org/publicity-team/bits/merge_requests/16

.hc



Re: FOSDEM 19 Debian Java talk

2019-01-30 Thread Markus Koschany


Am 30.01.19 um 11:10 schrieb Hans-Christoph Steiner:
> 
> Great that you are giving that talk!  I think the Java Team's work is
> generally under-appreciated, so getting the word out should help with
> that.  Here's what I would add:
> 
> I think one thing to mention is how the Debian Java Team has to
> consistently fight the Java standard practice of bundling all deps into
> a single JAR.  This means there is no shared security updates, each dev
> has to update every dependency themselves in that model.  That works
> great for large companies with staff devoted to doing that.
> 
> For the majority of Debian use cases, that works poorly.  Debian
> delivers on the promise that people can just "apt install foo" and have
> it work, and receive security updates.  The user does not even need to
> know what language the program is written in, it just works.
> 
> Java developers need to learn the value of these use cases, and help
> Debian by making it easier to package Java projects in the standard
> distro method, with shared dependencies that are indepentently updated.

Thanks for your feedback. Yes, that's a very good point and I will
mention it!

Cheers,

Markus



signature.asc
Description: OpenPGP digital signature


Re: FOSDEM 19 Debian Java talk

2019-01-30 Thread Hans-Christoph Steiner


Great that you are giving that talk!  I think the Java Team's work is
generally under-appreciated, so getting the word out should help with
that.  Here's what I would add:

I think one thing to mention is how the Debian Java Team has to
consistently fight the Java standard practice of bundling all deps into
a single JAR.  This means there is no shared security updates, each dev
has to update every dependency themselves in that model.  That works
great for large companies with staff devoted to doing that.

For the majority of Debian use cases, that works poorly.  Debian
delivers on the promise that people can just "apt install foo" and have
it work, and receive security updates.  The user does not even need to
know what language the program is written in, it just works.

Java developers need to learn the value of these use cases, and help
Debian by making it easier to package Java projects in the standard
distro method, with shared dependencies that are indepentently updated.

.hc

Markus Koschany:
> Hi all,
> 
> I will attend FOSDEM 19 in Brussels this weekend (03.02.2019, 12:40
> local time) and give a lightning talk (15 min) about our heroics.
> 
> https://fosdem.org/2019/schedule/event/debian_java/
> 
> Naturally there is not enough time to explain everything in detail but
> it should be adequate to put our message across. Here is your chance.
> What do you consider important or what would you like other people from
> the community to know?
> 
> I would like to reuse some of the scripts that we used for our last blog
> post in 2016 [1] to fetch some packaging statistics. Are those scripts
> still available? Otherwise I intend to use UDD a lot.
> 
> I want to answer the following questions:
> 
> How does the Java language rank in Debian?
> 
> https://sources.debian.org/stats/sid/
> 
> How many Java source packages / binary packages do we maintain or are
> maintained in total including by other teams?
> 
> How many contributors are there?
> 
> How many uploads were made by those contributors?
> 
> How many bugs were fixed by them?
> 
> How many RC bugs were reported/fixed during the
> Wheezy/Jessie/Stretch/Buster release cycle? My guess is the total
> numbers are increasing.
> 
> How many RC bugs were caused by OpenJDK7/8/9/10/11? We have our tagged
> bugs list for example.
> 
> https://bugs.debian.org/cgi-bin/pkgreport.cgi?users=debian-java@lists.debian.org;tag=default-java9
> 
> What specific OpenJDK changes caused the most grief?
> 
> Why we all love JavaDoc? :E
> 
> etc.
> 
> If you have some other fun statistic, please let me know.
> 
> Regards,
> 
> Markus
> 
> [1]
> https://java.debian.net/blog/2016/06/wheezy-lts-and-the-switch-to-openjdk-7.html
>