Life at Eclipse

Musings on the Eclipse Foundation, the community and the ecosystem

Overhauling IP Management at the Eclipse Foundation

At our recent face-to-face Board meeting earlier this month, an agreement in principle was made to move ahead with the largest overhaul of our intellectual property processes since the inception of the Eclipse Foundation 12 years ago. Now, don’t get too excited because months of work are going to be required before the new policies are approved, and the implementation of new processes are completed. But I did want to share the direction we are heading in with the community to get your input and feedback.

What do we do today?

The Eclipse Foundation takes a very rigorous approach to intellectual property management. As far as I know, we are the only open source foundation to have a dedicated staff whose sole responsibility is the review all of the code distributed by Eclipse Foundation projects. The easy part is the code that is written by Eclipse committers. The far more time-consuming piece is a detailed review of all of the dependencies used by or distributed with Eclipse projects. That dependency review includes checking license compatibility, scanning the code to look for potential issues, and checking in on the provenance of the code in question. That last piece (“provenance”), can be particularly time-consuming because it involves answering questions like “was the code ever re-licensed from licenseA to licenseB, and if so how was permission obtained from the contributors?”. Or “how does this project manage contributions to it?” To my knowledge, no other open source foundations or communities do the level of detailed analysis that we do.

The good news is that the Eclipse community and the IP team staff at the Eclipse Foundation can take a great deal of pride in knowing that what ships from Eclipse has been well reviewed, and can be safely consumed by users and adopters in downstream products. The bad news is that this is a lot of work for the projects, and can be very time consuming for everyone involved.

What are we changing?

The proposal is pretty simple. In the future Eclipse projects will be able to decide what level of IP due diligence they want performed for each of their releases. For the purposes of this discussion, let’s call them “Level 1” and “Level 2”, although there is a high probability that those labels will change.

“Level 2” “Type B” is what we do now. No change.

“Level 1” “Type A” takes a much simpler approach for dependencies. Basically, all that will be checked is license compatibility with the project license(s). We won’t do code scans or provenance analysis of any of a Level 1 Type A project’s dependencies. However, all of the existing processes around managing the code which is developed by or contributed to Eclipse projects will continue. (This includes things like committer agreements, CLAs, and git signed-off-by, etc.)

The decision on which level type a project wants can be specified on a per-release basis. So, for example, if a project wants have a very fast release cycle (e.g. ship something every 4 weeks) but still wants to ship a fully reviewed major release once a year, that would be a supported use case. The authority to make this decision rests with the project lead for the project.

This new approach will have particular value for new projects at the Eclipse Foundation. Rather than waiting for their dependencies to be cleared by the IP team, once the project can self-certify that all of their dependencies have compatible licenses they will be able to check-in their code and start working at Eclipse. We are hoping that this is going to reduce the ramp-up time for a new project from months to about a week. As part of making this happen we will need to find a scan tool which give an accurate report of licenses contained in code artifacts that is usable by developers. If anyone knows of any such tools, please let me know!

Why are we doing this?

There are lots of reasons, ranging from resources to agility to changing industry perceptions around risk in open source. But the most important one is that we want to help Eclipse projects be more successful. We have a lot of process that our projects need to deal with, and for a great many of them the IP requirements exceeded what their users and adopters required. So the time for a re-calibration has come.

When is this going to get done?

It’s hard to say with certainty, but our goal is to have this fully implemented by the end of this year. There are two major components to making that happen:

  1. We have to make some significant changes to the Eclipse Foundation IP Policy, and have those reviewed and approved by the Board of Directors. That is going to take a few months.
  2. We need to implement some changes in our tools and processes to support this. That includes changes to the Project Management Infrastructure (PMI) to track the IP level review type for a release, finding and hosting a license scan tool that committers can use to self-certify their dependencies, etc.

Where do we discuss this?

I’ve opened bug 496959 to discuss this, and to track all of the pieces that will go into its implementation. I am really looking forward to hearing from the community about this proposal. Personally, I am very excited by it, and think that a lot of projects will be as well.

Caveat: All of this assumes that the necessary changes are approved by the Board of Directors. The Board makes the call on these policies, and when they see the final edits to the IP Policy perhaps they will have a change of heart. But obviously if I thought that outcome wasn’t a high probability I wouldn’t be talking about this yet.

Edit: The original post has been edited to reflect that the we’ve decided to refer to the IP reviews as “Type A” and “Type B”, rather than “Levels”.


Written by Mike Milinkovich

June 29, 2016 at 9:00 am

Posted in Foundation

Eclipse Tooling Platforms

Two weeks ago at EclipseCon, the Eclipse Che project announced its 4.0 release. This announcement is the first major result from the Eclipse Cloud Development strategy we announced eighteen months ago. Eclipse Che is an innovative new IDE platform which has been designed specifically for the needs of web and cloud developers, offering a whole new way to think about developer workspaces in a container world. Tyler Jewell, the Che project leader and CEO of Codenvy did a keynote at EclipseCon North America where he welcomed IBM, Microsoft, Red Hat, and SAP on stage to show what they are already doing with the Che technology. The reaction to the announcement from developers, adopters, and the press has been amazing.

In short, Eclipse Che is on track for becoming a huge success.

However, as with many things in life success in one area raises questions about others. In particular we’ve heard some questions about what this all means for the Eclipse JDT IDE that developers have known and loved for the past fifteen years. TL;DR: Eclipse Che and the Eclipse IDE platform are complementary to one another, and both are going to be more successful because of each other.

More details:

Is Eclipse Che going to replace the Eclipse IDE?
No. It’s a different project, staffed by a different team. Remember, this is open source where the community is the capacity. There is obviously some overlap between both, but they have distinct goals, advantages and benefits, so the Eclipse IDE platform remains relevant and actively developed.

Is Eclipse Che and the Eclipse IDE interoperable?
Partially. There are ways to move many projects between the Eclipse IDE and Eclipse Che. We generally see many opportunities to make it simpler for developers to smoothly transition from local to distributed development and back. There are generally more opportunities for the projects to collaborate together than to compete.

So there are 2 IDE platforms in the Eclipse Community?
The Eclipse Community actually has three platforms for building tooling extensions. Eclipse RCP, Eclipse Orion, and Eclipse Che. Eclipse RCP’s desktop plug-in model and structure is widely adopted and broadly understood. Eclipse Orion provides a client-side plugin framework to enable web tooling and editor extensions. Eclipse Che builds on Orion and Eclipse JDT to create a distributed workspace and cloud IDE extension platform. These platforms are partially competing, and we’re fine with that.

Why is the Foundation fine with that?
The community is the capacity, and we would much rather have innovative new projects happen at Eclipse than elsewhere. The Eclipse Foundation is fine with internal competition. Both the Foundation and the Community know that competition can bring innovation. Moreover, Eclipse Che and the Eclipse IDE have different objectives that drive them to create different extension architectures.

What are the main differences?
Che defines a workspace to include all of the dependencies necessary to let a developer contribute without first installing software. The Che workspace includes a runtime, project files, and a cloud IDE. The nature of workspaces makes them portable and shareable. Che provides a server that hosts multiple workspaces for a group.The Eclipse IDE targets the developer workstation with tighter integration to the system and more options to customize it locally.

Is this short-term, mid-term, long-term…?
We are not the ones who decide this. Developers now have one more alternative with Eclipse Che, and we’ll let them make their choices and drive the future of software development. Let’s ask this again in 5 years 😉

Written by Mike Milinkovich

March 29, 2016 at 11:05 am

Posted in Foundation

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

Hello Andrea!

A few weeks ago, Andrew called me into his office, and told me “I’m sure you’ve figured this out already, but I’m transgender.” To which I replied “Uhhh….I had no idea. ” I am so oddly oblivious to these sorts of things, it’s sad.

Today Andrew becomes Andrea.

Wh‎at I know already is that Andrea retains all of the attributes that made me want to work with Andrew. She is a warm, and funny person who cares deeply about the technologies, communities, and people she works with. She is committed to her family and local community. We are lucky to have her at the Eclipse Foundation, and as part of the Eclipse, Eclipse Science,  and LocationTech communities. She is on a very courageous journey of personal discovery, and to a small degree, we’re along for the ride.

‎Andrea is at once both an old and a new member of the Eclipse community. Please give her a warm welcome.

Written by Mike Milinkovich

October 8, 2015 at 9:30 am

Posted in Foundation

Proposal: Funding Eclipse Platform Development

Last month I announced that the Eclipse Foundation is going to begin using personal and corporate donations to fund Eclipse platform development. Of course, the devil is in the details, and as an open source community we need to define an open and transparent process for how work is prioritized, and funds are allocated. Today, we are publicizing a draft document that lays out such a process.

One thing that we know is that the process can seem sort of heavyweight when you first read it. Be assured that we will be putting together some open-ended work packages to ensure that it remains lightweight and agile as possible.

If you have any comments or feedback, please post them on the list (subscribe here).

We are looking forward to your feedback!

Written by Mike Milinkovich

September 29, 2015 at 8:00 am

Posted in Foundation

Tagged with

JetBrains Lockin: We Told You So

The news this morning that JetBrains is switching to a subscription-only model is a perfect example of why and how trusting a proprietary tools vendor leaves you and your business exposed to the whims of their profit margins. Make no mistake: this is motivated by what’s good for their business, not what is good for the developer community. Even if JetBrains backpedals on this decision, it is a lesson worth learning.

Eclipse is the only truly community-based tooling platform. We are 100% open source from top to bottom. There is no “Community Edition”. It’s all open source. We are not beholden to any vendor’s agenda.

We are well aware that IntelliJ is a great product. We are also aware that Eclipse has not been moving forward as quickly as we would have liked this last few years. But we are actively working to change things, and you — the developer community — can help. First of all, the Eclipse platform is now a truly open and community-driven project. Your time and code contributions will be welcomed. Also, we recently announced that 100% of all personal donations will be directed to funding Eclipse enhancements. So you can help in your personal capacity by donating even a fraction of JetBrain’s subscription fees to Eclipse. Just as importantly, we will take directed corporate donations to fund Eclipse enhancements as well. Is there a couple of missing features that is slowing down your company’s use of Eclipse? We can fix those for a fraction of what JetBrains wants to extract from your employer.

Eclipse is a true free and open source software community, focused on the needs of developers everywhere. Let’s use this opportunity to re-invest in it so that it is the tool that you want to use every day. For free. Now and forever.

Written by Mike Milinkovich

September 4, 2015 at 11:02 am

Posted in Foundation