Why open source matters – JAX Award nominees on being open
Four different technologies give four completely different reasons why open source is important to them: open communication, commodification, community and a better choice in tech.
As this year’s JAX Award season draws to a close, Vaadin, JRebel, OpenHAB and Neo4j, four JAX Award nominees, took the time to tell us about their technologies and the role that the open source community plays for them.
Why open technologies are important for innovative IT
Vaadin: Openness guarantees transparency and a continuity. For large companies it is important to know that others are using the technology but also that even in the worst-case scenario it is possible to extend the technology.
During our 15 years in the UI open source business, we’ve seen many proprietary techologies die, such as Silverlight and Flash, which have caused a lot of headache to companies relying on these non-open technologies. Openness also means more open communication with the end-users and bi-directional code patches.
JRebel (ZeroTurnaround): Open technologies and open source software help commodify innovations and lower the barrier to entry for others, which leads to more innovations in the future.
openHAB: Open technologies can be easily adopted by many developers and therefore ultimately lead to success. Without the openness, there would be no community around openHAB now, and without this community we would not be able to support so many different technologies today, which is the strongest pillar for the success of the platform. This success means that more developers are willing to join the community, which in turn brings more contributions to the platform and so on.
A closed system cannot keep up with this rate of development. Furthermore, developers are reluctant to base their own fate on some proprietary code of another company. Instead, using open source and standards avoids such a dependency and preserves the freedom and flexibility. It also builds a strong foundation for cooperation with other players and for providing interoperability.
Neo4J: Today’s decisions for applying technology are more driven by technologists than managers – so the people who actually built the systems to run the business. That’s why it is important to give people a choice of technologies, to select the right tool for the job.
We’re seeing way more applications that are composed out of individual parts where each aspect has different use-cases and requirements that require different technologies. Open technologies allow more informed choice, you can evaluate them without a vendor lock-in by proprietary software and they also have way larger communities and open collaborations that help both the technology to grow as well as yourself when you’re faced with issues that you have to solve.
What kind of problems are you solving with your technology?
JRebel (ZeroTurnaround): JRebel is a developer productivity tool. At it’s core, JRebel is freeing developers from the downtime that’s intrinsic in Java software development. JRebel allow developers to reload code changes instantly, it skips the rebuild, restart, redeploy cycle intrinsic in Java development, which enables developers to get more done in the same amount of time and stay in the flow while coding. JRebel supports a majority of real-world enterprise java stacks and is easy to install into existing development environments.
openHAB: The project openHAB (open Home Automation Bus) was founded as an open source project in early 2010 by Kai Kreuzer for his own home automation needs. Its general idea is to inter-connect different systems and protocols and to build an over-arching solution by providing powerful automation rules and nice homogenous user interfaces. With an architecture that focuses on modularity and easy extensibility of the solution, a very active community quickly formed around it. This community provides numerous contributions and is responsible for a growing list of supported technologies (altogether more than 100).
Neo4j: Neo4j is a new kind of database that improves upon the well known and trusted aspects of relational databases, like data safety, a fine grained data model and ad hoc querying using a declarative query language with features that address both performance as well as ease of use and development speed concerns.
Neo4j comes with a data model which is optimized for managing and querying data relationships. Its underlying native graph store is all about performance, especially in operations where relational databases are notoriously slow, like join-heavy operations on large datasets. It is schema free so that you can evolve your model quickly. And Neo4j provide an innovative developer interface that allows you to quickly develop your applications using our own declarative, dedicated query language called Cypher.
Being an open source project we have a very strong and active community which not only supports our users but also provides a lot of integrations and tools, e.g. drivers, database migration or visualization libraries.
Vaadin: Vaadin is all about bridging the gap between developer productivity and end-user experience. In today’s world IT system users expect the same usability that Facebook, Google or other consumer products give but are too often faced by messy, boring enterprise systems at their work. The reason for this is that Business applications usually have hundreds of screens and a low budget compared to consumer products that only have a few screens and a larger budget per screen. Vaadin solves this by wrapping HTML5 components into powerful Java server-side APIs that enable users create beautiful UIs with a minimal amount of work.
Who are your main users and how do they use your technology?
openHAB: The target group for openHAB are tech-savvy users who want to avoid a vendor lock-in and stay in control of their data. Most of them are private users that operate their own home, but we also see more and more deployments at universities and research institutes as well as in commercial projects.
Neo4j: As Neo4j provides ease in managing highly connected information as well as high query performance, it can be used in a lot of different domains. Our users build custom applications or extend existing applications with new functionality that is not feasible to build on other databases either because the realtime performance on complex queries is not available or the highly connected domain is not efficiently and correctly representable int he database.
We have way too many use-cases to name them all, here are just a few:
- Fraud detection in banking and retail,
- Routing in logistics (eBay) and map-handling (TomTom).
- Recommendations in retail (Walmart) and other asset management,
- Software analysis
- Master data (Pitney Bowes) and Supply chain management (Elementum) and many more.
Other unusual use-cases are managing game economies (Gamesys) or creative collaborations of artistic users (FiftyThree with Mix@Paper).
Vaadin: Vaadin’s main users are developers building business applications. Developers that care about their end-product and want to solve business problems instead of banging their head in the wall with technical incompatibilities.
JRebel (ZeroTurnaround): Our users are Java developers, even freelancer or lone developers get value, whether their using an application server or writing desktop/console applications. The larger the team and application, the larger the benefit as there are longer redeploy times and often more opportunities to be taken out of the productivity flow.
What’s on the roadmap for you?
Neo4j: On our roadmap are future performance improvements; we’re working on a new runtime for our query language Cypher which will allow us to compile your queries down to machine code to run way faster.
Two other areas that we’re heavily investing into is scale, both in numbers (size of your graph) but also scale out, i.e. a distributed native graph database. Although even large Neo4j deployments don’t require these features yet, the perception that scale (out) is required from the outset is something we want to deal with early on.
Vaadin: Being open source means that our roadmaps are open to the public at vaadin.com/roadmap – our next iteration of Vaadin Framework includes new features to the grid component that makes it possible to showcase millions of rows of data in a sortable and lightweight UI. We also follow the latest trends on web components and a visual designer for creating your applications with.
JRebel (ZeroTurnaround): Well, we just released an optimizer for Eclipse, ZeroTurnaround’s first free tool. I can tell you that we’ve got a lot more stuff that we’re excited about coming throughout the year, keep an eye out!
openHAB: After having contributed major parts of openHAB 1 to the Eclipse Foundation last year, which was the initial seed for the Eclipse SmartHome project, we are currently working on openHAB 2, which will be based on Eclipse SmartHome. This will come with many new features like auto discovery of devices and administration user interfaces, which will make openHAB more attractive for normal users that do not have any IT background. Besides this work, openHAB 1 continues to be actively maintained and the version 1.7 is scheduled for May 25, which will again come with many new additional bindings to integrate with even more systems.