User:Dtheosab/FSOSS 2007

From CDOT Wiki
Jump to: navigation, search

Introduction

Free Software Open Source Symposium (FSOSS) 2007 is a yearly event where people gathered to talk and discuss about open source. There were many talks and workshops that were spread throughout two days and there were three talks that occurred simultaneously for each time slot. This method gives the attendees to be able to choose which talk they wanted to attend. For the talks that I missed, I am hoping to watch it online when it is uploaded. The purpose of this report is to analyze and compare two talks that I attended, which are Community as a Core Competency by Bryan Kirschner and Open Commercial Development by Lawrence Mandel and Jeffrey Liu.


Summaries and Analysis

Community as a Core Competency Summary

Bryan Kirschner is a Director of Platform Community Strategy in Microsoft Cooperation. He has been a leader in establishing open source development and community approaches through Microsoft. His idea of open source is based from Open Innovation. Open Innovation concepts are working with other people outside the company, external research and development can create significant value, competing and cooperating with others instead of controlling an invention, and the best ideas are resulted from everyone.


He mentioned two main points in his presentation, which are participating and partnering. Microsoft efforts in participating are through Microsoft XNA, Microsoft Popfly, and Boku while its efforts in partnering are Microsoft Silverlight and Moonlight. Microsoft XNA is a complete set of tools with managed runtime environment to design and develop games for Microsoft Windows and Xbox 360. Microsoft Popfly is a website that allows user to create web pages and mash-ups based on Microsoft Silverlight runtime. Boku is a visual programming language for kids that runs on Microsoft Windows and Xbox 360. Being in a deserted island, the user has to solve some challenges by programming logic. Microsoft Silverlight is proprietary runtime for browser that can provide animation, vector graphics, and video. Moonlight is a free and open source implementation of Microsoft Silverlight. Microsoft also made CodePlex, which is an open source project hosting website like SourceForge.


Community as a Core Competency Analysis

Microsoft pioneered commercial software and become the biggest closed source commercial software developer. It is very ironic to see their approaches into open source community. Microsoft XNA is available in many versions and licences but most of them come at quite some price. The open point in this set of tools is that you can share them in Creator’s Club. On the other hand, Microsoft XNA is can only develop games for Microsoft only platform, which are Microsoft Windows and Xbox 360. Microsoft Popfly is an interesting website that allows you to create and share mash-ups for other users to download and use in their Windows Sidebar and Windows Live Spaces. With Popfly Explorer plug-in, the code can be downloaded, modified, and uploaded by Microsoft Visual Studio Express. Again, this website does not leave Microsoft products and the open point is you can share your code. Boku is design to implement programming practices in earlier stage of life. I am not sure how this game relates to open source other than maybe sharing a programming solution. If the sharing concept is emphasized, it is one approach to apply sharing culture to the community from early ages. Microsoft Silverlight is targeted to compete with Flash and Ajax. User cannot modify the runtime and it can only be run on Microsoft Windows and Mac OS. The only purpose to the open source community is this runtime is used as the base for Microsoft Popfly. Moonlight is the open source version but it is not developed by Microsoft. It is running on Linux and under development by Mono Project which is led by Novell. Microsoft is cooperating with Novell to build Moonlight and Novell is granted an exclusive code access of Silverlight. This approach can be seen as another Microsoft strategy to lure Linux users to use proprietary Microsoft technology. CodePlex is one of the biggest approaches to the open source community but it is primarily targeted for .NET and Microsoft SharePoint projects. Moonlight is the only things that he mentioned for going outside Microsoft products for the targeted platform. It is a step for Microsoft to get into open source community but everything that the company has done has the purpose to benefit Microsoft in the end. To see Microsoft shares their code, I am not sure if I can see it within my lifetime.


Open Commercial Development Summary

Lawrence Mandel is an IBM software developer who worked on Web development tools such as Eclipse Web Tools Platform and Rational Application Developer. He is also a co-author of a book called Eclipse Web Tools Platform: Developing Java Web Applications. Jeffrey Liu is also an IBM software developer who responsible for Rational Portfolio Manager development. He graduated from University of British Columbia in Computer Engineering.


The talk started by providing a definition of open source from Open Source Initiative and showing some open source licenses. In Open Development, they mentioned open standards such as HTML, CSS, HTTP, TCP and show us how it differs from open source. Just like some other open source development methods, this approach provides history of the source code. It helps the developer to see who made the changes and easy to revert back if needed. Open communication is providing documentation, development discussion, and bug tracking. This method helps other developers to understand the code easier and have an organized bug fixing tasks. Open participation is contributing code, opening bugs, and feedback. Any organizations can join and help develop the program. They showed that MySQL has a form of open participation that allows other to contribute patches but must assign ownership to MySQL. Another method in Open Development is open process. It is to provide a transparent process by providing public planning documentation and list of team members. This outside-in development benefits from Agile development that work with customer frequently to assure how the features need to be done.


Open Commercial Development provides many misconceptions, such as trying to get developers to work for free, stealing intellectual properties, and trying to make money out of open source. Open Commercial Development is not open source but it is a development methodology that uses open source techniques. It provides transparent process and work directly with the clients. This methodology is used to solve the traditional closed source development challenges. Jeffrey Liu gave an open kitchen analogy, where the people who come to eat in the restaurant can see how the food is being cooked. Traditional Closed Commercial Development is a black box to the customers. It discourages customer participation and with its insufficient customer inputs and lack of proper channel to provide feedback can lead to a product that is not fully wanted by the customers. It follows the waterfall development model. Two examples that they gave are IBM Project Zero and IBM Jazz that implements Agile development method.


Open Commercial Development Analysis

When I hear the term Open Commercial Development, I doubt it would be open source and I was apparently right. Half of the talk was explaining about open source in general and another half is divided for Open Commercial Development, Traditional Closed Commercial Development, and very briefly about their implementations. Open Commercial Development is just a methodology that improves customer participation into the project but it is limited to inputs and suggestions. While they said that you can contribute code, it seems hard as the only knowledge to the code is the documentation. I am not sure if the client can ask a certain portion of the code to do bug fixes. If they do give, it is probably very limited and once the code is contributed, the contributor will probably do not know how they will implement the contributed code. In a way, it is a step to let the customers to interact and take part in their development but once the product is done, the customers will not get the source code with the program. I was intrigued on how MySQL solely take ownership of the contributed code but at least it is free software and open source. IBM Jazz seems to integrate software development into a community based methodology. The developer can assign and check who work with which code part of the program. The fact that the tool is probably going to be used inclusively in the company limit the community contributions. On the other hand, IBM Project Zero is a different in a way that user can contribute and share code to the project development and IBM will take the code and use it to develop the commercial application. Although the code will not be shipped with the commercial application, the contributed code will remain available separately in the website and can be shared to the community. In the end, customers still get products that are not shipped with the code and still cannot be categorized as free software.


Comparison

The two talks are quite similar in the case that both of them are not providing free software and open source. Microsoft and IBM focus on open source community that they made CodePlex and IBM Project Zero for other developers to contribute and share code. Both Microsoft and IBM provide a development platform that benefits their products, such as Microsoft Popfly that depends on Microsoft Silverlight and encourages users to use their proprietary technology. Some of their technologies have limited licences that do not allow commercial implementations and the fact that they are providing closed source development tools is a barrier to open source.


Both talks have also some difference in their approach to open source community. Microsoft provides development tools that reside on their closed source technology and allows other developer to create and share non-Microsoft applications with the community. On contrary, IBM provides development tools that help on developing and delivering their product to suit the client needs better. While IBM emphasizes on transparent development processes, Microsoft shares their technology to offer developers to be transparent in their development processes.


Conclusion

Going to FSOSS 2007 held at Seneca College have enlightened me to look more into free software and open source point of view in technology in general. I never thought the idea of having a freedom in buying software. Maybe it is because that I grow on the era where closed source software are more available in the market. Freeware that I have downloaded are not always open source. Also, I did not have much time to take a look and modify certain program as no new critical features are needed for me. By taking DPS909 open source course in Seneca College, it increases my interest to share my knowledge to improve the current technology that we currently have.


Among many talks that I attended in FSOSS 2007, few of them are interesting and a new concept to me. Open Sourcing Education in South Africa talk by Mark Surman opened my mind to how free software can be useful in development countries. Reading and Reviewing Code talk by Benjamin Smedberg reminded me on reading and reviewing code techniques that I have learned and also provided me with few new tips that can be used especially in open source development community. I chose to attend the Microsoft and IBM talks because I was curious on how their involvement in open source community. Although there are not much involvement compares to their product ranges, it was a step that they took that can be hoped to provide a bigger open source community in the future.


Up to the time this report is written, it will be a really long road to see if Microsoft or IBM to employ free software and open source ideology to their products. Like Richard Stallman analogy in buying a house without blueprint, until a commercial or non-commercial program is released with its source code and give rights to users to be able to modify and use it to their need, it will not be categorized as free software.