By pelegri on Jun 03, 2008
Join us if you are interested ... there is a GF v3 DEV meeting right now. At http://www.ustream.tv/channel/theaquarium
This entry contains some download statistics for the GlassFish AppServer. We usually report this data aggregated once a year around JavaOne but I believe this is the first time we provide some monthly data. Our intent is to automate the reporting and publish it in a monthly basis.
Readers of TheAquarium will have seen additional adoption indicators like the Geo Mashup based on GF Admin Console pings (live, geomap@TA), informal Adoption Stories, posts in user lists, and Other Anecdotal Data. All indicators have limitations; my usual comment is that if all the indicators are pointing the same direction, they are probably right.
• The download numbers quoted below are based on completed (not just attempted) downloads.
• We only count downloads from Sun.Com (under the Sun Java System Application Server name), from Java.Net (GlassFish AppServer) and NetBeans.ORG (NetBeans IDE).
• We are not counting downloads from our Maven Repository.
• We do not count Ubuntu, Solaris, Solaris Express nor OpenSolaris distributions.
• GlassFish is freely redistributable and we don't track other distributions.
• I believe these are solid numbers, but if we discover a problem I will let you know.
Below are several charts with commentary. The charts show monthly downloads starting in July 2005, right after we launched the GlassFish project, and going through last month, February 2008. The Y axis is normalized to 600K per month to simplify comparisons. The images link to a larger image for further inspection.
Download numbers go down during the (northern hemisphere) summer and at the end of the (gregorian) year. They also tend to peak during JavaOne, which, nowadays, is in May.
There are 3 data sets, collected into 5 charts.
GlassFish AppServer in SDKs
This chart shows downloads of the GlassFish AppServer either by itself (SJS AS 9.x and GlassFish AS) or in bundles like the Java EE SDK and the Java Application Platform SDK (Main Download Page).
The peak around May '06 (223,079) was the release of Java EE 5 and GFv1 at J1 '06. Other local peaks correspond to GFv1U1, J1'07, GFv2 and GFv2U1.
February '08 is our second best SDK number so far, with 216,514 SDK downloads. This is very good for a short month outside of the J1 peak season.
GlassFish AppServer in Tools
GlassFish is included in, and is the default container for, the most popular bundles of NetBeans 6.0 and NB 6.0.1 - and also in some older tool releases. NB d/l stats are public; we only count those from bundles including GF.
NB 6.0 was released late '07 and NB 6.0.1 last month. They are very successful and their use of GF as their default container has helped the adoption of GF. The February '08 d/l for those bundles is 378,686.
GlassFish AppServer - Combined
This table just adds the previous two. The combined number for February '08 is 595,200.
There are two ways to reason on whether or not to add the numbers. On one side, many people using NB do so because of GF; on the other, some are not, either because they use another container, or because they only develop for Java SE or Java ME.
At some point we might be able to get more detailed information but, in the meantime, I add the two and keep the original SDK line as a reference.
JBoss AppServer - From SourceForge
Finally, as a reference point, here is the chart from the Source Forge JBoss AS Download Stats. The d/l numbers reported by SF for Feb '08 are 87,215. Note that SF will often return a "Too Busy" the first time you ask for stats; if so, wait a bit and refresh the page.
Updated - Note these numbers do not include tool bundles, their enterprise distribution or other JBoss download bundles; I don't have information on the number of additional d/ls from those distributions.
This one just collects the last two charts together.
Refer to the previous charts for comments and clarifications, and to the top paragraphs on the value of other adoption indicators.
I was recently visiting a software group at another company in the area and at some point we ended talking about how information flows in our companies. Their company keeps information flow very tightly controlled; even within the company a group often does not know what other groups are doing. By contrast, I pointed out that I often get my information from Blogs.Sun.Com.
The secrecy or free flow of information is a reflection of the underlying business model: the traditional for-fee Right-to-Use license (which may or not include support) versus the new model based on free Right-to-Use plus optional for-fee support. In the new model the penalty for making most information public is very limited, while the efficiencies of the free flow of information are huge: agility, reusability, connectivity to the customers, architectural review, etc.
There are a few specific cases where it makes business sense to keep some information confidential, like some performance benchmarks, and in some cases privacy may even be mandated, like in pre-released SPEC results, but otherwise, the benefits of public information greatly outweight the disadvantages. Blogs in particular have been extremely useful in addressing large Time-Zone distances and in providing a practical virtual alternative to the water cooler.
Here is another example of the impact of the business model: in the traditional model preannouncing a release might kill substantial revenue but in a subscription-based model there should be no negative impact and actually the opposite may be true! We have often seen sales happen because the future roadmap can help sell the current release.
The move to Open Source has deep implications for the software industry; in more ways that one We are not in Kansas anymore! The next few years will be fun!
I often get asked about what level of adoption GlassFish has, which turns out to be a harder question than it looks and involves some level of tea leaf reading. Below I list some indicators of adoption; none of them is perfect, but they are all pointing the right direction for GlassFish: up!
Downloads - There were at least 3.3M downloads of GlassFish this last year (June-to-June) and the previous year it was over 3M. Traditionally the main vehicle has been the Java EE SDK but now there is also the Java Application Platform SDK and other bundles (SDK Downloads). Direct downloads of GlassFish v2 at Java.Net (GF Downloads) are fewer but growing fast (note to self: create public dashboard).
Geo Maps - Downloads don't necessarily mean active users so we started tracking also activity via Geo Maps (want to be the first user in Greenland?). Since the mechanism has several limitations we are in the process of switching to one based on the UpdateCenter, but data is not yet available. In all cases we are careful not to collect private data and we share what we collect.
Surveys - Surveys have several problems; the biggest ones being the sample set and size and the time lag. I track a bit Evans Data; the latest data I'm aware off is pretty old and shows #2 in Linux and #4 Overall. Also see BZ Research from Dec '05 where we were #5, (via RMH and via RedMonk). Hopefully we will see new surveys soon.
Another indicator of adoption are Analyst Reports - These have been looking stronger over the last year or so, and even more since we released GFv2 FCS. Check (in reverse chronological order): [Current Analysis], [Gartner], [Forrester] and [Entiva].
Deployment Stories - In a sense, the Growth of the USERS@GF mailing list is a weak representation of adoption/deployments, but we also want more concrete examples and these have been harder to capture than I was expecting. We have a fairly reasonable list at the Stories blog but the large adopters have been hard to pin down for publication (the larger the company, the more people have to approve a public statement). But last week alone I collected 5 leads (and I've heard similar from John, Alexis and others), so I think we will see more additions to that list very soon.
Sales, Contracts - Yeah, these would be good indicators but they are also proprietary and/or have customer-confidential data, so, sorry, not for now :-(.
Web Searches - So, now we get to the web. There are two obvious metrics. One is number of hits on a search engine like Google; the other is number of queries.
Web Page Hits are biased by false positives and by changes in the search algorithms, but one can look at head-to-head searches using things like Google Fights. I did one in March'07 with Friday Fun w/ Google Fights; I'll do an update in a future blog but, because of the limitations, I'm not sure how much of a trend one can capture with this indicator.
The other option is to track Keyword Web Searches. This is very easy to do with tools like Google Trends and I had done an earlier version as Fun with Google Trends. This time I'm capturing a few more trends into the graphs posted on the right of this entry but the overall direction has not changed: pretty much everybody's indicator is down, except for GlassFish.
From top to bottom:
Each graph has some biases but the trend is pretty consistent. Also note that there are no units on the vertical axis, so you need to look at the aggregate graph for relative comparisons. Finally, I know that adding "Apache" to Geronimo and Tomcat will undercount but it seems necessary to highlight the trend; just ignore the absolute information and focus on the trend for those.
Another nice tidbit from the trend data: look at the Last 30 days, per geo (Live, Snapshot). Right now, it is very nice to see Japan on top; I'd like to think it is related to Restarting the Japanese Translation for The Aquarium
Added: I had forgotten the individual graph for JBoss; I added it and resorted the images to adjust for its inclusion.
GlassFish, JBoss, WebLogic, WebSphere, Apache Geronimo
GlassFish and Apache Tomcat
We did it! It was a huge effort at the end but the team pulled it off and you can now download both GlassFish v2 and its companion Sun Java System AppServer 9.1. My overview of the release is here; a pretty complete blog rounup is here.
• pinya - first level support, stabilizes castell, catches anybody falling
The photo shows shows the Margeners de Guissona building a medium-sized castell but here is a big one by the Castellers de Villafranca: a tres de 10 amb folre i manilles (3 at the base, 10 high, all the roles involved). Many people need to do their tasks very well to build such a big castell; like with this release. Congratulations to all!
We released GlassFish v1 in May 2006 and we started working on GlassFish v2 right away. You may have noticed all the GFv2 Release Candidates and the last one didn't produce any show-stoppers so we should be releasing "very soon".
There is a lot of information about GFv2 at TheAquarium and elsewhere; this writeup is to provide an overview of the key points of the release in a single place. Also, since this entry is mostly a bunch of hyperlinks I'm using a glyph () to highlight the links so they are not overlooked.
First, a quick recap from GlassFish v1 (also see here)
• Java EE 5 compliant (Reference Implementation)
GlassFish v1 was focused on developers, Java EE 5 and on simple single instance deployments; the new release, v2, adds everything needed for the enterprise customer. The main message for GlassFish v2 is:
You don't need to
choose between open source and enterprise features,
you can have both
Key New Features in GF v2
Below are some of the main new features in this release; it is a partial list, if you want more information, browse at The Aquarium.
Clustering and HA - GFv2 includes a new in-memory replication mechanism using JXTA for simplified configuration and improved performance, and it inherits HADB from (SJS AS 8.2) for 5-9s availability. See Clustering @ TA.
Commercial-grade Admin/Monitoring - This includes Admin Console, Documentation, CLI Monitoring. All of these have been substantially improved or are new. The Console, for example, has been redone and it is now using the new Woodstock JSF components and JSF-Templating.
All-in One Bundle - The old SJS AS 8.x releases used to come in multiple versions: Platform Edition / Standard Edition / Enterprise Edition. Some of them were free for deploy, others where not. There is now a single, all-in one, moderately sized, bundl (~55MB) that has everything and there is the notion of profiles that is used to adjust functionality based on intent (developer, clustered, enterprise profiles).
Performance - GlassFish is the only open source appserver that has published a SPECj Appserver 2004 benchmark: at the time of posting it was the fastest submission on a single-processor T2000.
Performance records are meant to be broken and I believe that there is now a faster 2-processor submission, but we will continue to improve (see related posts @ TA).
Metro WS Framework - GlassFish uses the Metro Web Services framework. This framework includes project Tango (aka WSIT) and the JAX-WS RI and has best-in-class performance and excellent usability. Metro also has very extensive WS-\* interoperability with Microsoft which can be used in many applications; a simple example shows an Excel spreadsheet on Vista that has live cells representing content generated dynamically from a GlassFish server.
Tools - GlassFish has very good in NetBeans 5.5.1 support and even better in NetBeans 6 (beta very soon). There is also support for GlassFish in Eclipse 3.3, MyEclipse and IDEA. The GlassFish community also delivers Hudson (continuous integration), Japex (WS/XML testing) and other useful tools.
JBI and Open ESB - GFv2 has built-in support for Open ESB which supports the JBI standard. This includes configuration and administration console.
Modern Web Tier and Scripting - GlassFish v2 supports the latest JCP Web Tier specifications and includes a very complete JSF toolkit: Woodstock. It also supports jMaki to enable consistent encapsulation of common AJAX toolkits and Comet via Grizzly.
Affordable Commercial Support - Sun Java System Application Server 9.1 (aka SJS AS 9.1) is the commercial support brand for GFv2; same code base but controlled patches with bug fixes (description ). We provide support under subscription and purchase at prices that are very competitive and can be purchased directly via the web or through your friendly Sun salesperson. If you have any questions, feel free to contact us at email@example.com.
Adoption - We are already seing a LOT of interest, from the community and the enterprises. The community appreciates the transparency, the quality and the responsiveness of the development team. The driver in the enterprises is quality and support cost; many companies are reassessing their current strategies, and this seems to be accelerating in recent months. Analyst and surveys are lagging but some reports mentioning GF include: Evans Data, Burton Group, Forrester, even Marc Fleury.
Beyond GlassFish v2
GlassFish v2 is one portion of a wider strategy that includes Additional Releases. SailFin moves into the Telco space with Ericsson with higher availability and scalability requirements as well as SIP servlet and other functionality. GlassFish v3 goes across with things like improved jRuby support (like the GlassFish Gem) and down into Tomcat and even smaller spaces like WS gateways and embedded devices.
The GlassFish ecosystem (including partners) already includes community groups, tools, frameworks, solutions, SIs and others. We are already included in a number of distributions and we are pursuing several additional more. Some of this will evolve more fully in the near term, so stay tuned for more info; in the meantime, send us mail to firstname.lastname@example.org if interested.
Try it Out! and Stay in Touch! We are always very interested in what works and what does not work. You can stay connected via the mailing lists: USERS@glassfish.dev.java.net and DEV@glassfish.dev.java.net. And feel free to leave comments in this blog entry.
Disclaimers: SPEC and the benchmark name SPECjAppServer 2004 are registered trademarks of the Standard Performance Evaluation Corporation. Sun Fire T2000 (1 chips, 8 cores) 1.4ghz 883.66 SPECjAppServer2004 JOPS@Standard. Competitive benchmark results stated above reflect results published on www.spec.org as of 07/10/06. For the latest SPECjAppServer 2004 benchmark results, visit http://www.spec.org/.
We are maintaining multiple GlassFish release trains to address different user needs, and I put together a summary to help you track them. First some terminology:
• Sustaining - In sustaining mode; most changes will be addressing key bugs.
GlassFish v1 (Sustaining)
• The first final release for this train was J1'06. Other public releases include GFv1 UR1 and GFv1 UR1p1. We are likely to do another public release as soon as we close on GFv2.
• Commercial support is currently available from Sun under the SJS AS 9.0 brand, with releases every 6-8 weeks or so.
GlassFish v2 (Active, Scheduled)
• Adds clustering, profiles, many performance improvements, etc. Published SPECj2004 AppServer numbers.
• Release is planned to go final in a few weeks, in mid-September.
• Commercial support from Sun under the SJS AS 9.1 brand name.
GlassFish v2 UR (Tentative)
• Every major release has an Update Release; it is part of the physics of releases :-)
• Commercial support under the tentative SJS AS 9.1 UR1 brand name.
• Currently pencilled for release at the beginning of 2008.
Sailfin (Active, Committed)
• Adds increased scalability and reliability constraints, as well as SIP Servlet and additional Communication features.
• Tentatively scheduled for mid 2008.
GlassFish v2.next (Active, Tentative)
• GF v2 release based on Sailfin; should include all the improvements in the base AppServer needed to deliver Sailfin.
• Exact packaging relationship to Sailfin still undecided, it is too early to understand the impact of different trade-offs.
GlassFish v3 (Active, Tentative)
• The main feature is a modular architecture based on HK2.
• Services will be added to this train incrementally.
• A key challenge is to maintain usability in the administration while making it modular.
• We may define a web tier/ web services / scripting milestone with limited adminitrative GUI.
• Final release of full AppServer may be aligned with Java EE 6.
Note: All these releases are public open source code. And they will all be supported by Sun via enterprise-grade distributions.
I've uploaded a second screencast, this time a short (6 minute) skim through The GlassFish Implementation. I am almost certainly not going to be able to do localizations of the narrative until after JavaOne, at which point I am more likely going to do updates with all the announcements done at the conference.
Please be patient with my recording. There is a reason why I am an engineer, and not a radio announcer!
This is my first experiment with Camtasia Studio: I've created a short (8 minutes) Overview of Java EE 5. Check it out and let me know how it goes; I'm still very much learning my way through the product.
My plan has been to highlight these presentations through TheAquarium and to ask different people to provide localizations of the narrative to different languages (I could do spanish -castillian- and catalan). I already have ready another presentation about the GlassFish implementation but the pre-JavaOne craziness is in full-swing, so we will see how things go.
Note: The index works on my IE/PC combo but does not work on FireFox or on IE on my Mac. The presentation works fine so just treat the index as a ToC for now.
No bookmarks in folder