Since the start of the Friends of OpenJDK community in April 2020, we've had half yearly status reports, providing the highlights of the past half year, together with some stats and analysis, ending with roadmaps for the next upcoming periods.
Note: Here are the earlier reports, from January - June 2021, July - December 2021, and January - June 2022. At that stage, a much stricter cookie policy was implemented, for reasons of the EU's GDPR and similar, so that the Google Analytics trends which had been very nice until that stage (we had as much traffic in the first half of 2022 as we had for the whole of 2021) were destroyed. Attempts were made to recover or reinstate similar methods for analyzing usage, hence the delay in reports coming out since midway through last year, though these attempts have failed. And if the method for counting usage changes as dramatically as it now has, then it becomes impossible to discuss trend comparisons from before that change and after it. In terms of trends, we now need to start from scratch. Since that is not something that can be repaired, making comparisons between different periods in the past and the current period, as in previous reports, doesn't make sense anymore.
What's good about all this is that we can now look at more meaningful measures of the impact of the Friends of OpenJDK community such as...
...FOSDEM 2023
Over the past 6 months, the activity that most clearly highlights all the key strengths and relevance of the Friends of OpenJDK community was FOSDEM 2023.
After having collaborated with and supported FOSDEM during the two virtual years of the Corona period, we came together for the first time in person this year, bringing together developers from across the Java community, and beyond, and had an awesome and truly united experience, as described in detail here, with a speaker dinner and full rooms and well known as well as less well known engaging speakers.
We fully intend to continue the tradition next year. Maybe we could try to use both FOSDEM days, since we have so much content, and 20 minute sessions are entertaining and fun, though occasionally also a bit stressful.
Advisory Board Growth
Next, a key aspect to highlight right away is that the Foojay.io Advisory Board has grown over the past 6 months, with 5 new organizations being added, and now there are 17 in total. Here they are, together with a great quotation from each organization, really showing how well aligned we all are in relation to the Friends of OpenJDK community.
Chronicle Software: "Foojay is an open and independent marketplace of ideas and curated information relating to the JVM, and as such is immensely useful for the entire community. We are very happy to support Foojay however we can and are delighted to be part of the Foojay Board." — Jerry Shea, Chronicle Software MD, APAC
Gradle: "From the outset, open source has been central to Gradle, starting with the build tool and now encompassing a program through which we contribute our commercial Gradle developer acceleration tools to open source endeavors and institutions. It's wonderful to observe Foojay's emergence as a leading provider of impartial, curated content and insights on all aspects of open source Java. The ecosystem truly needs this, and it will undoubtedly reap substantial benefits from it." — Vincent Mayers, Director of Community Operations, Gradle
OmniFish: "At OmniFish, we want to be part of the Java and Jakarta EE communities by giving back and being active participants. We like to share our knowledge and expertise, and work with other developers and industry leaders to create new ideas and improve the Java ecosystem. By joining the Foojay.io Advisory Board, we hope to connect with like-minded individuals, share our ideas, and work together to improve the Java ecosystem. We look forward to contributing to the ongoing development and growth of the Java and Jakarta EE communities which is already happening at Foojay.io." — Ondro Mihalyi, OmniFish Founder
Sonatype: "Since its inception, Sonatype has been passionate about open source, with particularly deep roots in the Java community. It’s an honour to be part of the Foojay Board. We hope to continue to help the community grow and adapt to all the challenges the future brings." — Steve Poole, Director of Developer Advocacy, Sonatype
Yugabyte: "Developers increasingly rely on PostgreSQL and YugabyteDB for powering their backend applications, Cloud native services, and ultimately, advancing their careers. We view Foojay as an exceptional platform where developers can enhance their understanding of databases to create more robust and high-performance applications." — Denis Magda, Head of Developer Relations at Yugabyte
For the full quotes for each of the above, see https://foojay.io/board.
How does an organization become a Foojay.io Advisory Board member? The mechanism is similar to the "doacracy" of the Apache Software Foundation. If one or more people from an organization are actively collaborating in one way or another in the context of Foojay.io, e.g., publishing content on Foojay Today, sharing or integrating their content into the site, or showing enthusiasm and involvement in some other way, they're approach to see whether their organization as a whole wants to align with Foojay.
That means that there's an organization-level commitment to the community goals underpinning Foojay, such as is clear from the quotes above, together with a regular cadence of content finding its way from that organization to Foojay. No money is involved at all, no "pay for play", simply an alignment of intentions with those of Foojay, with the logo of the organization being published together with an affirming quotation, sealing the already existing relationship that one or more individuals in the organization have with the intentions of the Foojay community.
Foojay Today
Probably the most successful aspect of the Foojay site, at least in terms of broad usage, are the daily articles. Every day, Monday to Friday, of the week one or more articles are published by the community on Foojay Today.
Since Foojay Today is the one part of Foojay that changes on a daily basis, with continual new content coming in, which is discussed and worked on collaboratively via the Foojay Slack channels, including a publicly discussed weekly schedule, it is also the part that drives the majority of the unique views, shown in the stats section below.
Calendar
A lot of work has been done by the Yelk team in Ukraine in collaboration with the Foojay.io community. Of course, Foojay.io is a WordPress site. In a way, that's sad, that we're not (yet?) using an OpenJDK technology for the Friends of OpenJDK site. On the other hand, everyone knows (loves?) WordPress, so onboarding new collaborators is trivial.
We're constantly finetuning and adding enhancements and new features to Foojay.io, ever since we began the project from scratch in April 2020. One of the most impressive recent features is the Foojay.io Community Calendar.
The intention is for this calendar to list ALL conferences and JUG events or relevance to anyone using the OpenJDK in any way. To that end, an API is available, and integration has already been done with the Adoptium calendar and the JUG Switzerland calendar, while manually adding new events to the moderation queue is a simple process (requiring no login credentials) of clicking on a calendar cell and then submitting the details in a simple form.
A lot more work will be done on the calendar to make it even more useful, e.g., the ability to select periods and geographies, etc, will be added, as well as... we should definitely explore integrating with the Meetup API, so that any events on a JUG's meetup page will automatically be entered into the Foojay.io calendar's moderation queue.
Java User Groups
Related to the above, clearly the purpose of the community project that is Foojay.io is not the millions of Java developers out there, since the millions of Java developers are mostly simply daily worker bees rather than actively involved in the Java community as such. That is easy to see when you go to a JUG meeting. Despite JUGs being held in major cities all over the world, you'll never find more than around, at most 80 (which is really quite a lot) actually attending JUG meetings.
That being the case, the purpose of a community site such as Foojay.io is to bring together and seek to educate the "pathfinders" within/into locations, e.g., companies, where developers are found. For that purpose, to support where the pathfinders come together, i.e., JUGs, the Foojay Calendar exists, as well as the page (currently manually maintained and therefore incomplete/quickly out of date) the JUG List.
One can also imagine there being a listing of speakers, i.e., some kind of dating site for speakers/JUGs and conferences, and that is in the works too. And/or a way to appeal for sponsorships, too, as well as multiple channels on the Foojay Slack for JUGs to interact with each other, which is already the case and JUGs are very welcome to use the Foojay Slack for that purpose. A special highlight in this area is that new life has been blown into Philippines JUG via Foojay.io, with meetings having been had again several times now.
Are you involved in a JUG in any way and are there any resources that you need and that the Foojay community can help you with? Just speak up, that's a key reason for the Friends of OpenJDK to exist in the first place.
Foojay.io Disco API
Also related to Foojay.io is the "Universal OpenJDK Discovery API" (Disco API) for discovering JDK distributions and integrating them into any tools and technologies where that makes sense. Those that use it love it because it takes away a lot of their problems in finding and updating JDK distributions. Although there's no direct dependencies between Foojay.io and Disco, they're indirectly related other as community projects that fill a gap in the Java ecosystem and both are initiated and driven by/from Azul.
The Disco API is now integrated in or used by the following:
- sdkman (get download links to all OpenJDK and GraalVM distributions via Disco)
- gradle toolchain plugin (use Disco to enable users to change the JDK for their builds, defaults to Temurin, around ~10000 downloads per day)
- jbang (use Disco to enable users to use a JDK of their choice when using jbang, defaults to Temurin, around 400 downloads per day)
- jreleaser (use Disco to enable users to use a JDK of their choice when using jreleaser, defaults to Zulu, around 300 downloads per day)
- paketo build packs (use Disco to get the links to all JDK distributions)
- Hydraulic Parts
- JDKMon (a tool to check for updates of OpenJDK distributions)
- NetBeans (use it to download and install OpenJDK distributions from within the IDE, into which it is built, around 200 downloads per day)
- Downloads via browsers (around 800 downloads per day)
- Plugins for Browsers and IDE's (e.g., IntelliJ IDEA)
A separate article on interesting analysis relating to the Disco API will be published separately.
Podcast
A really cool addition to the Foojay.io "franchise" is the Foojay.io Podcast, with its cool jingle (thanks Erik Costlow), great host (first Erik, then Frank Delporte, and now sometimes others too, i.e., really sharing the fun/load).
Frank went on a virtual JUG tour, several JUGs have been covered, great conversations with cool people from all over the world, plus many interesting themed podcasts, really great, and more coming from September onwards.
Check it out:
https://foojay.io/today/category/podcast/
Certification Program
Something rather wonderful has been happening on the Foojay.io Slack over the last few months. Initiated by well known Dutch Java luminaries Roy Wasse and Bert Jan Schrijver, and others from OpenValue, a Java certification is being worked out that actually measures programming skills (rather than the ability to complete multiple choice questions, etc).
This will be the Java community validating Java skills and anyone certified via the Foojay.io Java Certification program will have community stamp of approval with prospective employers having a stronger guarantee that their new hires know what they're claiming to know. During this week, a session will be held at the OpenValue meetup on this topic, as outlined below.
Join in with the above at the OpenValue meetup here and, of course, join the Foojay Slack, where there's a channel dedicated to the above discussion, a cadence of meetings, experimentation, demos, etc, i.e., a vibrant project that's great to be able to host and encourage via Foojay.
OpenJDK Information
The first impulse for the creation of Foojay.io back in April 2020 was the absence of a clear place listing all the issues making it into a quarterly update or LTS release. That content continues to be added to the site each quarter, as shown below, with the option for anyone to vote on their favorite fixes for addition to the Highlights tab.
A key collaborator with Foojay.io is Chris Newland, whose range of tools on chriswhocodes.com are gradually being transitioned to Foojay.io, most recently his collection of command line arguments reference materials, though the display and user interface continue to be enhanced and expanded.
A core aspect of Foojay.io is these kinds of reference materials, though they may be of relevance to a smaller subset of Java developers than initially thought. I.e., this is not daily changing content and therefore may attract less views, while the fact that this reference material is out there is something that could be better known. Still, bottom line, this content may be more relevant for specialists rather than the daily worker bee putting applications together as specified by architects and other team leaders who are of a smaller number and may be the ones who find this kind of content of greater relevance to them.
Everybody Wants Stats
Below you can see that the trend breaks midway through last year, referred to in the note in small script above, purely because of the change in cookie policies, which means that any discussion of the number of unique views across the Foojay.io site is now meaningless. Also the total unique visitors and sessions has been impacted by this.
The Y axis shows a line for each day from May 1, 2020 (the first month of Foojay's existence) to today. The X axis shows the number of unique views on each day. There are very big spikes, which have been discussed in previous Foojay status reports, referred to above.
The day on which the largest spike took place overall above correlates with the most popular article yet published on Foojay, which is Helen Scott's multiple carets article below.
Notice that you can now see the total number of unique views, which several people have asked for. It helps to see which articles clearly resonate with a broad audience versus those that are more relevant to a more niche group of specialists. (In the above case, the article was republished in November 2021, while it was originally published in September 2021, which is why the unique views count starts in September while its publication date shows November. Maybe that distinction should also be shown, i.e., first published versus subsequent republications.)
Each article now publicly exposes its unique views live on the page, although within WordPress itself this information has always been visible, i.e., these are the most popular articles that have been published on Foojay.io.
In addition to all the articles on Foojay Today, all/many/most of the other pages on Foojay are now for the first time also being tracked for unique views, so as to gather stats on them, too. For example, you'll see the below on the Foojay Download page.
It helps to take two equivalent periods and compare them to each other, before the cookie policy change, e.g., May 1 to July 13 in 2022 with the same period in the previous year, which shows an almost 100% growth of unique users year over year, as shown below, together with other stats from those specific periods.
Other stats that may be of interest are that Foojay.io now has over 10K followers on Twitter (though that number goes up and down quite wildly and erratically), 1101 subscribers on Foojay.io Slack, and the number of Foojay.io Today authors is publicly listed here.
Skin in the Game
A recurring question in the context of Foojay.io relates to who has "skin in the game" here. As indicated in the Foojay.io Advisory Board Growth section above, there's no "pay for play" here, the downside of which is the loosely coupled commitment of the organizations involved in the Foojay community. I.e., the "skin in the game" is of a collaborative nature, i.e., content is introduced from the organization to the Foojay.io, which is fantastic and shows the level of support the organization has for Foojay.
However, maybe more options than that could be available. One that has recently been developed and is available to organizations is something akin to part of Foojay now being available for ads and sponsorship. There is a new section in the Foojay WordPress specifically for adding adverts to Foojay, as shown below, together with the number of times the ad is displayed, great for analysis and post mortems after a campaign has ended.
And when creating the ad, as shown below, the Probability field is available which sets the likelihood/frequency that the ad will be shown.
The ads appear high up on the page, at or around "above the fold", i.e., no scrolling is needed to see at least the top of the advert, the above settings producing the advert shown below.
There is no annoying scrolling or flashing between one ad and the next. Instead, whenever you land on the main page (refresh it a few times to see the two currently available) you see the advert based on the probability setting. When you come back the next time, the probability that the ad you've already seen will be shown again is lower than before, and most likely you'll see a different ad, based on its probability. Once a few more have been added, we'll also make explicit that these are actually ads, i.e., some kind of "Sponsored Content" label, will be added to the above banner.
In this way, there's now a placeholder for sponsorships or, at least, the ad space you see above could be one part of a sponsorship package, with higher probabilities being available to those with a higher sponsorship, coupled with other similar benefits. The exact categories and sponsorship packages are yet to be determined and will be put together in the collaborative way with which those involved in the Foojay community will be familiar.
By making this opportunity available, organizations can be offered, also whether they are part of the Foojay.io board or not, to have "skin in the game", i.e., to invest in larger or smaller amounts to contribute to the continued growth and maintenance of the Foojay.io community.
Upcoming Features and Enhancements
In terms of roadmap, I see the following happening in the coming months.
- Prioritization of more content from Chris Newland into Foojay.io.
- Continued and stronger focus around FinOps.
- Certification program firming up and moving out of the experimentation stage.
- Even more collaborative podcasts from September onwards.
- Foojay.io Calendar enhancements
- Meetup API integration into the Foojay.io Calendar.
- Sponsorship banner usage and, in general, more "skin in the game" for participating organizations.
- Newsletter, maybe via LinkedIn, as an avenue to get content from Foojay.io to new groups of users/collaborators.
- Exploration of transitioning Foojay.io from closed source GitLab to open source GitHub.
[…] julio de 2023 Informe de estado de Foojay que cubre de enero a junio de 2023, presentó un anuncio de que cinco organizaciones, a saber: […]