Life at Eclipse

Musings on the Eclipse Foundation, the community and the ecosystem

Archive for the ‘Open Source’ Category

Introducing the Jakarta EE Specification Process

I am very happy to announce that we are publishing a draft of the Eclipse Foundation Specification Process for community review and feedback. This specification process will be used by Jakarta EE as the new open specification process, replacing the JCP process previously used for Java EE. It is also expected that this new process will be of interest to other Eclipse working groups.

We are really looking forward to your feedback, which you can do via the Jakarta EE Community mailing list (preferred), or on the document comments.  The feedback provided will be used as input to finalizing a first version of the specification process and its adoption by Jakarta EE and other working groups at the Eclipse Foundation.  

As you are reviewing this draft specification process, please keep in mind the following key points about the approach that was taken by the Specification Committee.

  1. We want to design a specification process to replace the JCP. While there are many differences with the JCP, the key objective was to make the whole process as lightweight as possible.
  2. We want the specification process to be as close to open source development as possible. This is actually not a trivial exercise, as by its very nature drafting specifications is a somewhat different process.
  3. This is the Eclipse Spec Process, so we want to reuse the Eclipse Development Process wherever possible, and we want to ensure that the general flow and tone of the EDP is followed.
  4. We want to create a process that allows code-first development. Specifically, we want to enable a culture where experimentation can happen in open source and then have specifications be based on those experiences.
  5. We want the specifications that result from this process to be as high quality as possible. In particular, this means that we need to take care of the intellectual property flows, and to protect the community’s work from bad actors. This requirement manifests as two fundamentally important differences from the EDP:
    • Specification Committee approval is required for releases from Spec Projects, in addition to the normal PMC approval; and
    • We introduce the notion of “Participants” who are committers who represent specific member companies on a Spec Project. This is necessary to ensure that the IP contributions (particularly patents) from companies are properly captured by the process.

All of us at the Eclipse Foundation would like to recognize the tireless efforts of the members of the Specification Committee. A lot of hard work has gone into this document, and it’s very much appreciated. We are certain that Jakarta EE, and many other Eclipse technologies, benefit from the thoughtful efforts of this Committee.  In particular, we would like to thank the following Specification Committee members and alternates:

Fujitsu: Kenji Kazumura​, Mikel DeNicola
IBM: Dan Bandera​, Kevin Sutter
Oracle: Bill Shannon​, Ed Bratt​, Dmitry Kornilov
Payara: Steve Millidge​, Arjan Tijms
Red Hat: Scott Stark, Mark Little
Tomitribe: David Blevins​, Richard Monson-Haefel
PMC Representative: Ivar Grimstad
Elected Members: Alex Theedom, Werner Keil​

I also wish to recognize Tanja Obradovic and Wayne Beaton from the Eclipse Foundation team who have driven the process throughout – many thanks to you both!

Written by Mike Milinkovich

October 16, 2018 at 3:18 pm

Posted in Foundation, Jakarta EE, Open Source

Tagged with , ,

Jakarta EE Status – September 2018 Update

Migrating Java EE to the Eclipse Foundation and Jakarta EE is a process not an event. In the past couple of weeks however, several very important milestones have occurred that deserve to be recognized.

  • 100% of Glassfish and related Java EE reference implementation components from Oracle have now been contributed, and published to GitHub repositories of the EE4J organization. For those of us at the Eclipse Foundation, part of the reason why this is so huge is that to a large degree, we’ve completed our part. The repos (99) have been provisioned, the committers (162) have been given access, and the initial intellectual property reviews (404) have been done. From this point on, progress on the projects is now largely under the control of the projects themselves.

ee4j_status

  • Builds for the EE4J projects are now running on Eclipse Foundation infrastructure based on our Jenkins-based Common Build Infrastructure.
  • The Java EE TCKs have been contributed and are now available in open source. The importance of this cannot be understated, as my colleague Tanja Obradović points out in her blog.
  • The Eclipse Foundation has signed the Oracle Java EE TCK agreement, which is going to allow us to ship Eclipse Glassfish certified as Java EE 8 compatible. This has also required us to create a testing infrastructure at the Eclipse Foundation, and allowed the EE4J projects to begin testing against the Java EE 8 TCKs.
  • IBM, Oracle, Payara, Red Hat, and Tomitribe have all committed to three years of funding for Jakarta EE ranging from $25K to $300K per year. This funding will allow us to create a dedicated team and fund marketing activities for the Jakarta EE Working Group.

This migration has been an enormous effort, and we certainly have a ways to go yet. But it’s always fun to celebrate some victories along the way.

If you are interested in learning more about Jakarta EE and the future of cloud native Java, please join us at EclipseCon Europe in Germany in October. There is a wealth of Jakarta EE and MicroProfile content. In particular, I hope to see you at the talk that I am doing with Wayne Beaton about the new specification process. Oh, and there’s also this other conference happening in San Francisco at the same time….

 

Written by Mike Milinkovich

September 27, 2018 at 5:21 pm

Posted in Foundation, Open Source

K8s at the Edge – Some Context on the New Kubernetes IoT Working Group

It’s hard to believe that Google released Kubernetes as an open source project only three years ago. What began as the Borg cluster management platform to provide services like Gmail and YouTube at global scale is now the standard orchestration layer at the center of a massive industry shift to cloud native.

Enterprises are being catapulted into system resource engineering concepts that have been the bedrock of operations at web-scale leaders like Google and Netflix, and the open source stack underneath it all is evolving so fast it’s hard to keep up.  Kubernetes is attracting all sorts of exciting frameworks and services (see projects like Istio and Envoy), and no one could have anticipated it having this degree of momentum.

So what does any of this have to do with IoT?

The Eclipse Foundation is excited to be part of today’s announcement of a new Kubernetes IoT Edge Working Group – in conjunction with CNCF and supported by leading vendors like Bosch, Eurotech, InfluxData, Red Hat, Siemens, Vapor IO, and VMware.  

Eclipse Foundation has a lot on the go with IoT — 2.93 million lines of code (by last count), 42 different member organizations, 36 projects and 280 developers. The pace of innovation in IoT is very fast, and there are still a lot of great unsolved challenges at the IoT Edge.

Kubernetes was born in the datacenter. Its original promise was bridging datacenter and cloud.

But Kubernetes has a ton of potential for handling massive workloads on the edge — providing a common control plane across hybrid cloud and edge environments to simplify management and operations. Chick-fil-A, for example, is running Kubernetes at the edge in every restaurant.

Some of the great unsolved problems at the IoT edge — connectivity, manageability, scalability, reliability, security challenges, how to bring compute resources closer to edge devices for faster data processing and actions — are being solved as one-offs by the enterprises that are jumping into IoT. This new working group sees Kubernetes as having great potential as a foundational technology for extending hybrid environments to the IoT edge, and believes that broader industry collaboration on requirements definition around Kubernetes will accelerate broader adoption of IoT. Once again, it’s the rising tide theory of open source.

As Red Hat’s Dejan Bosanac (lead for the Kubernetes IoT Edge Working Group) says:

“IoT and edge applications have many distributed components that don’t usually sit together within the same datacenter infrastructure. There are messaging challenges, security has to be re-invented for every application and service, and there are integration and data locality issues with sidecar services. These are issues that shouldn’t have to be re-invented every time — they should be open source infrastructure with broad industry support. Red Hat and this working group see Kubernetes and other cloud-native projects in its orbit as having broad potential sitting between gateways, edge nodes and cloud platforms. Much like the LAMP stack was instrumental to the web-applications era, this group is focused on accelerating a Kubernetes stack for running cloud infrastructure and distributed components at the IoT edge.”

Some of the initial targets for the group in how it evolves Kubernetes for IoT edge applications:

  • Supporting Industrial IoT (IIoT) use cases scaling to millions of constrained devices a) connecting directly to Kubernetes-based cloud infrastructure (IP enabled devices), or b) connecting via IoT gateways (for non-IP enabled devices)
  • Via Edge nodes, bringing computing closer to data sources to support processing and acting on data sooner. Anticipated benefits include reduced latency, lower bandwidth, and improved reliability. Some example use cases:
    • Deploying data streaming applications to the Edge nodes in order to reduce traffic and save bandwidth between devices and the central cloud.
    • Deploying a serverless framework for using local functions that can be triggered as a response to certain events (without communication with the cloud)
  • Providing a common control plane across hybrid cloud and edge environments to simplify management and operations

The initial focus of the working group will be to flesh out IoT edge computing use cases and see how Kubernetes can be used (and to what extent). Among some of  the requirements identified so far:

  • For IIoT applications, the Kubernetes ingress layer must scale to millions of connections
  • That same ingestion layer must provide first-class support for IIoT messaging protocols such as MQTT (it is primarily HTTP TLS centric today)
  • Kubernetes must support multi-tenancy for environments where devices and gateways are shared

There have been a lot of industry watchers who have been wondering aloud how high the ceiling is for Kubernetes. Container orchestration seems like such a specific technology – how can this technology reach this type of ubiquity? Well one thing is clear – Kubernetes has jumped the datacenter and is now clearly in play in IoT ($1.2T market by 2022, according to IDC) as well. We are excited to be collaborating with the Kubernetes community to enable next generation of IoT applications.

To learn more, head over to the Kubernetes IoT Edge Working Group community page.

Have specific ideas for how you’d like to see Kubernetes evolve to meet your IoT use cases? Check out the this working document where you can get a sense of the progress so far, and the areas where you could possibly contribute your talents.

Written by Mike Milinkovich

September 26, 2018 at 7:00 am

Posted in Foundation, Open Source

Introducing EE4J: The first step towards Java EE at the Eclipse Foundation

I am very excited and proud to introduce the new top-level Eclipse Enterprise for Java (EE4J) project. For those that might not have heard, Oracle has announced their intention to move Java EE to the Eclipse Foundation. Creating the EE4J top-level project is the first step to making this a reality.

Moving Java EE to the Eclipse Foundation is going to be an exciting and massive undertaking. It is a significant opportunity to use the Eclipse open development model to accelerate innovation in Java for enterprise and cloud native computing. We look forward to engaging with the millions of developers and organizations using Java EE.

The Java EE technology is a very large portfolio of source code, TCKs and specifications. Moving all of Java EE will be a significant undertaking for the community. For instance,

  1. The GlassFish open source project includes 130 github repos. Moving these existing GlassFish open source projects to the Eclipse Foundation, and getting all of the various sub-projects set up and under the Eclipse development process will take some time.
  2. The Java EE TCKs will be moved to Eclipse open source projects and be available to the community.  What this means and how the community interacts with the TCKs needs to be defined.
  3. Create an open build infrastructure so EE4J can be built and tested by the community.
  4. Establish a new specification process under the auspices of the Eclipse Foundation.

The good news is Oracle, along with IBM and Red Hat, is moving incredibly fast. Publishing the top-level project charter is an important first step. However, we are aware that there are literally millions of developers who have a vested interest in the future of the enterprise edition of the Java Platform, and who quite rightfully would like to have detailed plans now for how and when the above list are going to be completed. Unfortunately, the details are going to take some time to plan and execute. Moving Java EE to the Eclipse Foundation is going to be process, not an event. I do expect this will be an open process that encourages community members to contribute.

Today marks a very significant milestone in our journey. We are pleased to announce that the draft charter for the Eclipse Enterprise for Java top-level project is now available for community review and feedback. We have created the ee4j-community mailing list for the community to use to provide that feedback, so please subscribe to the list and join the conversation!

Written by Mike Milinkovich

September 28, 2017 at 8:30 pm

Posted in Foundation, Open Source

EPLv2: A New Version of the Eclipse Public License

The Eclipse Foundation is in the process of revising the Eclipse Public License (EPL). Refreshing a popular open source license is a big job, and one that we have been chipping away at for over a year.

The EPL and its predecessor the Common Public License have been around for about 16 years now. For a full presentation on the changes we are considering and their motivation, you can check out our presentation, or the video on YouTube.

Please get involved. Just as importantly, if you are a developer involved in the Eclipse community and ecosystem, encourage your colleagues in the legal department to get involved. The discussions are happening on the epl-discuss@eclipse.org mail list (subscription required). The most recent public drafts of the EPLv2 can be found here.

Written by Mike Milinkovich

April 7, 2017 at 2:17 pm

Posted in Foundation, Open Source

Tagged with , ,

Investing in Eclipse Tools

Yesterday I talked about three interesting new runtime projects which have joined the Eclipse community, and made the point that we are extending our reach beyond our “…original comfort zone of tools…”. But that doesn’t mean that we are not seriously investing in tools. In fact, in 2016 the Eclipse Foundation itself is hiring new staff to do exactly that.

The first position was just posted on our forums. For the first time ever, the Eclipse Foundation is looking to hire a full-time Eclipse platform developer. This position will be responsible for adding new features and fixing bugs in Eclipse under the umbrella of the Friends-Enabled Eclipse IDE/Platform Enhancements Program (FEEP). (Awkward name, great acronym!) The FEEP process ensures that it is the community leadership that guides what new investments we make in the Eclipse IDE and Platform. It is financially supported by the personal and corporate donations that we receive under the Friends of Eclipse program. You can help make Eclipse better with your donations!

Around the middle of this year we also intend to hire a Java Tools Evangelist, who will work with the community to help promote not only the Eclipse IDE, but also newer tool projects such as Eclipse Che.

Like I said, 2016 is off to a great start!

 

 

Written by Mike Milinkovich

January 15, 2016 at 11:03 am

Posted in Foundation, Open Source

A Great Start to 2016

Yesterday was quietly one of the biggest days ever for Eclipse. That is because of three new project proposals that went live. It’s certainly unusual for us to have three new projects at once, but I’m not sure if it’s unprecedented. However, I am really excited about these projects, and what they mean for the future of the Eclipse community.

  • Edje is a new IoT project that brings Java functionality to very small devices. It provides a standard hardware abstraction Java API required for delivering IoT services that meet the constraints of small, Arduino-class devices. The initial code contribution for Eclipse Edje is coming from MicroEJ, who has been working in this area for many years.
  • IoT Connector  provides a generic, cloud-based IoT platform architecture which supports the implementation of IoT solutions  requiring device connectivity, device management, and interaction with business applications. The Eclipse IoT Connector project is targeting numerous runtimes such as Cloud Foundry, RabbitMQ and AMQP, and Docker. It is co-led by Bosch and Red Hat, two of the Eclipse Foundation’s Strategic Members.
  • OMR aims to provide a technology platform for building language runtimes. It consists of core components that can be used to build runtimes for languages such as Ruby and Python. These components include: memory management, threading, platform port (abstraction) library, diagnostic file support, monitoring support, garbage collection, and native Just In Time compilation. Eclipse OMR is led by the same folks who build the IBM J9 Java virtual machine.

Several years ago we decided that the Eclipse Foundation was going to start welcoming projects outside of our original comfort zone of tools based on Java and OSGi. It has taken a while to get that message out, but it is clear that it is starting to be heard. None of these project are tools in the traditional Eclipse sense. They are runtimes and frameworks targeting environments from the smallest microcontrollers to the largest clouds.

Each of these projects are very ambitious in their own right. To have all three launched on the same day is crazy cool. I am really looking forward to watching these grow and mature as part of the Eclipse community.

EclipseCon North America March 7-11 in Reston, VA will be the place to be to find out more about these new projects. We’ll have talks on all of them.

Written by Mike Milinkovich

January 14, 2016 at 3:22 pm

Posted in Foundation, Open Source