User:Elsi Nushaj/FSOSS 13
FSOSS 2013 Report: MongoDB and ARM Powered Technologies
When I first heard about open source I did not have a clear idea of what it was about. Initially I thought open source was just programming work that a group of people did to improve their portfolio of skills for better job employment options. I did not believe that those who worked on open source projects could be paid for their work directly, but rather could earn an income from potential advertising of the developed software. With this idea in mind, I took the open source class in Seneca in order to improve my software portfolio and learn more about what open source has to offer. Over the length of the course my views have changed about some of the aspects of open source work.
One of the contributors to my altered view of open source was via the Free Software and Open Source Symposium (FSOSS) event that I attended. The event is basically comprised of various people, such as developers, teachers, business workers, users and many others. During the event guest speakers talk about various aspects of open source and its effects on current and future technology as well as its application to the web and everyday life. Throughout the FSOSS event I had the chance to listen to many presentations, but there were two in particular that I found particularly interesting.
The first presentation I listened to was given by Kevin Cearns, an IT specialist who after several years in his profession ended up switching to working on open source projects. The title of the presentation was MongoDB: Advantages of an Open Source NoSQL Database, and covered details about a free database, written in C++, that did not use SQL to function. Initially the project started in 2007 as a paid relational data store, but in 2009 the project was open sourced via the AGPL license. The key aspect of MongoDB is that it does not use the highly established structured query language for its operations, like many of the other database software that can be attained today. Instead, MongoDB is a document database that works primarily through JSON objects/files linked together. It shifts away from relational models and operates without the need for a schema and at scale. This means that a developer does not really need to know any SQL in order to set up a database. All they need to understand is how to write a basic JSON file for their data. The use of JSON also provides increased flexibility via more complex data entries, such as arrays for some potential fields. Moreover, MongoDB provides the ability to declare related data without necessarily using properties like ids as primary keys. This provides more freedom for developers to customize their databases to how they see fit. The use of MongoDB also increases work efficiency due to the lack of a schema eliminating the time needed to define table structures. Since the software works at scale it saves time from having to constantly adjust data structures. For a typical relational database, if new data needs to be entered and it belongs to a new table it needs to be created first. This is not the case with MongoDB since it will create a new JSON file if the data does not belong to a previous file (table equivalent).
Besides the lack of SQL another key features of MongoDB is that it features a property known as sharding. Unlike traditional databases that store data on a server, MongoDB can use data spread across many servers in order to operate. If one of the servers fails, another becomes the primary server and all the data from before can still be kept. This is likely one reason why Walmart.ca started using MongoDB in the last year or so. Kevin stated that after Wal-Mart’s transitioned to MongoDB it has had 99.999% uptime, the highest possible in a year!
First Presentation Viewpoint
Kevin seemed fairly supportive of the open source community. He had started his own MongoDB group and had supported its growth up to 400 plus people. He said that he and the developers of MongoDB gladly welcomed others to make contributions and even encouraged it. He was very proud of what MongoDB had accomplished as an open source database service and listed a fair amount of facts to support it. One of them was that MongoDB currently worked with over 12 languages and frameworks due to great open source support. This included Ruby, Nodejs, .Net, C++ and PHP to name a few. Another was that MongoDB currently holds the sixth spot for being the most popular database software available in North America and the first spot for the most popular open source database software. As a result, my overall impression is that Kevin was in favour of open source technologies since he provided much proof of how useful and successful open source technology can be for both businesses and every day developers.
The second presentation I listened to was given by Andrew Greene and Christopher Markieta. Andrew was previously a student of technology and now works at CDOT experimenting on ARM related hardware and components. Chris spent some time working at CDOT in the past and is now in charge of managing Seneca’s infrastructure. The presentation that they gave was called Powered by ARM and talked about the benefits of ARM processors compared to current processors and how ARM technology has become one of the dominant chips in the current market. ARM processors are basically small computer chips that generally provide a faster processing time due to increased efficiency via a reduced number of transistors. The chips originated from a British company and are based off the RISC method of production, known as a reduced instruction set computer. Typical chips are based off the CISC method of production known as a complex instruction set computer. The difference between RISC and CISC is that RISC is more compact and efficient, but is less powerful than CISC for computation. During the presentation both speakers listed off many benefits of RISC produced chips. One of the benefits mentioned was the particularly small size of the chips. Due to the reduced number of transistors and smaller die sizes ARM powered chips are very useful for small sized devices like smart phones, tablets and PDA’s. The reduced number of transistors and increased efficiency also leads to less power consumption, which is ideal for handheld devices. Another of the benefits mentioned was that ARM chips can be produced very quickly and cheaply ($1 or $2 per chip) unlike CISC style chips. This speed of production allows for ARM technology to quickly adapt with the changing mobile market. As a result of these factors ARM chips are the predominant processors used for mobile devices.
Second Presentation Viewpoint
Both of the speakers supported the usefulness of ARM technology for the future market, but it seemed as though Andrew was a greater advocate for its use in the open source community than Chris. Andrew reinforced the idea of the usefulness of ARM chips for open source developers by explaining how the small sizes and cheap costs could allow nearly anyone to modify and make their own experimental computer. He showed off the Raspberry Pi as one example of an ARM powered device that a developer could use. Chris however, provided many examples of the usefulness of ARM technologies in the growing mobile and paid markets. He gave many reasons as to why efficient processing in chips will be the main criteria that technology developers will look for during future development.
Collective Viewpoints and Comparisons
After both presentations had ended I had a chance to stand back and look at the opinions of the presenters towards open source. Kevin appeared to be the greatest advocate of open source technology, compared to the other presenters. Due to the open source community and the use of the AGPL license, MongoDB went from a typical database service to one that is used by various developers and large companies like Wal-Mart. The service jumped from being in the top 100 database service to the top 10. As a result of its success, many jobs have been created by supporters that use the service and want it improved. Kevin clearly backed this kind of development by creating and managing his own MongoDB team of over 400 developers. Although Andrew had not started his own open source group he did join one, CDOT. He also reinforced his support for open source development by providing the audience with information on how they could easily attain ARM technology to experiment with. He furthered his support by giving people more information on how to be part of the open source community. Although Chris detailed the benefits of ARM for mobile markets he did not give much information for its use in open source. Despite previously working at CDOT and presenting at FSOSS, Chris did not provide many reasons as to how open source developers could benefit from the use of ARM.
It seemed that Kevin and Andrew were in agreement that open source development is a great tool to improve both hardware and software for everyone using it. Both demonstrated that working on open source technology can not only create job opportunities, but also help further technological innovation. Since Chris did not speak directly about the merits of open source, it is difficult to tell what his mind set could be. However, I believe that based off his background and his participation at FSOSS he also agrees with the viewpoints of Kevin and Andrew.
After attending the FSOSS event my mindset of what open source is changed greatly. At first I believed that open source work was meant to only better an individual’s programming skills. I believed that work in open source could not provide a good income and was primarily worked on by a small group of local people. By attending the MongoDB and ARM presentations I got a much better understanding of what open source is actually about. From the ARM presentation I learned that open source development is not only limited to software creation, but also encapsulates hardware modification and experimentation. By listening to the MongoDB lecture I learned that the open source community is vast and global; it is not limited to just people locally. I realized that working on large open source projects can not only lead to employment, but also development in new technologies that can benefit all kinds of people. Taking the open source course and attending this event taught me about an amazing community that seeks to create revolutionary technologies, while keeping it free for everyone to use and contribute.