Start with the best...
OpenUI5 - a great start to Open Source at SAP
OpenUI5 is one of the best examples we have of full-fledged active 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.
Introducing OpenUI5
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's the difference? Well, let's start with the similarities. First, they are all JavaScript based - all of these frameworks run entirely in the browser. Even though there is a web server on the other end, all the work is done client side. All of these frameworks encourage the separation of control logic from view logic - yep, Model-View-Controller (MVC), and it's still a great idea.
What makes UI5 such a great player in this space are three things.
First, it's really easy to build applications with our Fiori style guidelines. UI5 took the design philosophy of being code-based, meaning everything is specified in code (either in JavaScript, or more likely in a settings file with XML). If you don't know HTML, that's not a problem - because you really don't write any. UI5 takes care of all that for you. And the HTML it generates is all Fiori compliant, so you don't need to worry about look and feel. And we have a tool (
the Web IDE) to help develop fast and easy.
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.
And a quick aside - plus a short plug - I wrote several tutorials for both Angular and React in SAP Cloud Platform. Check them out, if you want to compare them against UI5!
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.
OpenUI5 - the GitHub project
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.
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.
Enjoy UI5.
And thanks for stopping by Open Source Monday!