Start with the best…
OpenUI5 – a great start to Open Source at SAP
First, let’s talk a little bit about what it is. But don’t tune out too quickly – because the really interesting part is what makes it the “best example”. I’ll cover that right after the description.
Honestly, I could go on about UI5 for several blog posts. And others have – check out My Journey to UI5, for example. So, I’ll try to keep this short, and sweet, but mostly short.
If you are working to develop a browser based front end, using the Single Page Applications (SPA’s) model (which is what most users expect today, thanks Gmail…) then you are probably aware of the multitude of frameworks to help build them. Some of the most popular include Angular (version 1, 2, or 4…) or perhaps ReactJS. UI5 is another of these frameworks, designed to help handle the complexity of building front ends in the browser space.
What makes UI5 such a great player in this space are three things.
Second, it’s SAP compatible. All of our API’s use ODATA as a transfer protocol. UI5 is completely conversant in ODATA (as well as JSON, the industry de-facto standard). Connecting to the SAP API’s is easy and fast, so you can focus on the usability, not data conversion.
Third, it’s incredibly powerful. UI5 can do everything a modern business application can do. How do we know? Because we use it for all of our Fiori applications. The toolkit is incredibly big, and robust, and can handle almost everything you can throw at it.
Want to know how powerful? Check out the UI5 TOP 5 competition! The 2017 winners contained some really amazing applications.
It’s Open Source, but what does that mean?
Now that I’ve tried to sell the idea of UI5, let’s talk about what makes this project a good example of Open Source.
The first thing to realize about OpenUI5 is that it has a sister project – SAP UI5. SAP UI5 is our build of the UI5 project. OK, so there are two? No, there is just one.
The UI5 team starts all of the code in the open source project. They do all the development out in the open, and commit those changes back to GitHub. And the GitHub project contains all the latest – the “nightly” builds of the latest stuff, the more stable beta and even more stable final releases, and all of the code in between. 35,000 commits, with 280 releases and 34 branches. That’s an active project.
Plus, like most great open source projects, even the bugs are out in the open. OpenUI5 uses the GitHub bug tracking system to report, track, and monitor problems. So anyone can use it, submit bugs, and watch the feedback.
So, then what is SAP UI5? It’s our internal build of OpenUI5. It’s a downstream product, which we can support internally. It’s always a very stable build, but it’s based on the original code.
This process is a trademark of good open source strategy. Open source is open, and part of being open is showing all the work, and being open about all the flaws. Every non-trivial piece of code has bugs, and open source makes it easy to see where they are, and what can be done about them.
Finally, it’s not just coming from SAP anymore. The open source project encourages others to contribute as well. So, if you want to contribute, you can (and get credit).
What makes it interesting?
It isn’t interesting yet?
OK, fair enough, I did ask the question. What makes it interesting to me, as the person watching all open source, is that it represents a long steady march towards building a great community.
Open Source projects don’t live in a vacuum. They are constantly being used by developers, being worked on by developers, and have developers reporting suggestions, problems, and feedback. That’s part of the community around an open source project.
OpenUI5 – and the entire UI5 project – both understand this and are constantly working on it.
- They blog about their project, and their own code, and their future plans.
- They get extensive feedback from users (check out the list of names in the bug reports area)
- They get contributions – over 166 contributors – and they aren’t all from inside SAP.
- And, last year, they started having independent conferences – UI5 Con!
All of these things are part of building and fostering a community. The community is what makes the open source work, and what drives it forward.
Building a community takes time and effort. It’s a long-term investment, and requires the dedication and commitment of both the original owners and a long view of growing. These things are hard to do. (And even harder to convince management to allow, because it’s all FREE, right?)
This is what, in my mind, makes UI5 one of our greats. They have done the work and are committed to the process.
Now, all that gushing about UI5 doesn’t mean there aren’t other great projects. More importantly, there are other great projects that have taken different approaches to Open Source. Those approaches aren’t better, or worse, as each fits a specific need or community. The combination of those choices makes for lots of paths.
So, there is a lot more to building a community, and growing Open Source. Those discussions are an entirely different thread of blog posts (and I promise to get to that topic area soon). And there will be more examples of other projects coming up, too.
And thanks for stopping by Open Source Monday!