Advent at Grakn Labs: Open Source Technology
#GraknLovesTech: 21st December 2016
Here at Grakn Labs we love technology. So much so that, this month, we’ve decided to share our favourite technology moments from 2016. Each weekday during December, we will open a window on our virtual advent calendar, and peek inside to recall some of the greatest innovation or news that the past year has brought us.
Please recommend and share with hashtag #GraknLovesTech if you enjoy our posts. And if you have any favourite links you’d like us share, just leave us a comment or tweet us @graknlabs!
So it’s my turn, once again, to look into our advent calendar. Behind door number 21 is . . . Open Source Technology. Great, I have always been a big supporter of open source and I am happy to do a big article on it. *Precy grumbles in the background* The article must be short ? Oh very well, I will try to contain myself to a reasonable length. How about I just stick to a review of open source in 2016 ? That sounds catchy, and who doesn’t love a year end review of things. I know my taxman does.
Opening The Source
Before I start, I just want to take a moment to explain what it means to be an open source technology. There is a common misconception that it means the software is available for free and you can use it however you want. This is only partially true. When software is open source, it means that the code is readily accessible and viewable by anyone. This also commonly means that the software product is available for free usage under many circumstances. However, you have to use in it accordance with the license terms, where some licenses are more permissive than others.
Each open source software product, including our own at GRAKN.AI, has a licence attached to it. These overly long and legal jargon-filled pieces of text essentially dictate the terms of usage. For example, Apache is one of the most liberal licenses - allowing you to almost do whatever you want. You can even repackage and sell the code, if you so choose. On the other hand, GPL dictates that the software must remain open when being used, including commercial uses. There are a variety of flavours of these licences, all with their own subtleties. OSI provides a great overview of them, and if you’re thinking about going open source, I would recommend doing some research.
Why Open The Source?
As any software engineer will tell you, writing code is hard, writing good code is even harder, and writing good code which turns into a good product is the hardest of all. So why do we put so much effort into our products and then essentially “give them away for free”? Well, as my colleague recently pointed out, software engineers are usually very passionate people and that passion can turn into side projects which often become open source projects simply because of that passion. So yes, we are just nice people like that.
Another way open source tech is often born is through development in large enterprises. For example, Apache Cassandra was initially developed by engineers at Facebook in an effort to power their own system. Often these large enterprises release these products as open source as a way of contributing to the community, or as a way of drawing in more users.
The next issue is that of maintenance. Maintaining software is an arduous endeavour, especially when it begins to grow. So it would be reasonable to ask, how do many open source products survive if they are free? Are people really donating enough of their free time to allow these products to continue without funding? In some cases this may be possible, but this is rare. Behind many sizeable free open source products such as Ubuntu, lie a collection of investors and funders with an active interest in keeping the product going. These funders allow the work on these projects to continue, without people losing interest due to having to reprioritise to paying projects.
To conclude on this section, what is the point of open source? I could dedicate several pages to answering this question but I will refrain from that before my editor gets too angry with me. Open source has not only resulted in great pieces of software such as Linux, Git, Duplicity, and many more, it has also allowed us to advance at a much faster pace. Open source tools have contributed to many fields and their influence is immeasurable. But we must never forget a great achievement of open source tech, Potato Linux. Now, on to the year in review!
Open Source in 2016
This section is simply going to be dedicated to all the open source related stories that we, at Grakn Labs, were exposed to throughout the year. This is not by any means a top 5 list, but rather just a collection of moments from this year related to open source tech.
This year we have seen OrientDB officially take up Tinkerpop 3 support. This story really shows the power of an open source community because the project and the repo did not start out as an official effort from OrientDB. This open source project was originally started by Michael Pollmeier and Marvin Froeder. Both of whom have taken this project from a proof of concept to an official offering of OrientDB. They also helped me out immensely in my efforts to get Grakn on top of OrientDB. Congrats to both of them on their success with this project and thank you to OrientDB for listening and responding to their community.
RethinkDB is another NoSQL database designed for high scalability and fast writes. When we at Grakn Labs started our journey, we looked at RethinkDB with admiration. They have a great database with an elegant language. Sadly, this year, Rethink announced they were shutting down. This was very hard for everyone to hear considering all the positive news and great work they produced. I heard that the team is moving on to work with Stripe and will be pursuing new challenges there. I wish them all the best of luck in their new adventure. As disappointed as we were, this story does have a silver lining as RethinkDB is not dead! There is currently an effort to put more of its development and maintenance into the hands of the community. Anyone willing to lend a hand should contact them and see how they can contribute to this effort.
Readme.io, YourKit, Travis CI, and Coveralls, only the latter of these two are open source, but all four get an honourable mention in my book because they offer their products for free to any open source project. Even without being open source themselves, they are still supporting everyone in the open source community. Readme.io is an online documentation platform with a very simple to use interface which supports markdown along with some other bells and whistles. YourKit is an amazing java profiler that makes finding performance leaks and bottlenecks much easier. Travis CI is an online continuous integration framework (which I have heard people christen it the friendly cousin of Jenkins). Last, but definitely not least, is Coveralls which automatically determines the test coverage of your projects using well supported testing frameworks. At Grakn Labs, we have been using all of these tools considerably and would struggle without them, so a massive thank you from our team to theirs!
For this last one, I am going to look at something more personal. During my free time I pretend to know something about photography. I even take a picture or two which people other than my mother have said they liked. I have recently switched from using Adobe Lightroom to an open source alternative called Dark Table. I have attempted this switch several times, but only in this year that I was able to finally able to make the switch. Dark Table is not as feature complete as Lightroom but it is a far lighter and more efficient application. I am not sure what the guys at Dark Table did this year but thanks for doing it. Lightroom was making me sad periodically. Also, hooray for open source in the multimedia community!
Open Source in 2017
This is really easy to predict. Open source is not going anywhere. It’s going to get bigger and its applications, more diverse. Many years ago, the creation of open source products was reserved for the idealist engineer but now we are seeing enterprises contribute more to open source and even build entire businesses around open source. This can only lead to the creation of better software as we continue to share our experiences and learn from each other.
For 2017, I am hoping that we start to see more of a push, not only in the development of open source products, but also in their adoption. There is still the stigma that many open source alternatives are unreliable or not very well supported. I am hoping to see that change in 2017. Obviously, we at Grakn Labs look forward to another year of being part of this amazing community.
GRAKN.AI is an open-source knowledge graph data platform that brings knowledge ontologies and transactional data together to enable highly intelligent querying of data. Querying is performed through Graql, a declarative, knowledge-oriented graph query language for retrieving explicitly stored and implicitly derived information, and for performing graph analytics and automated reasoning. Grakn and Graql will help you effectively manage and harness large-scale graph data by allowing you to model it expressively, migrate it efficiently, and to draw insightful knowledge from your deep information network.
Find out more about Grakn Labs from our website!