FSOSS Report by vlam6

From CDOT Wiki
Jump to: navigation, search


Before I begin my report, I think it is best if I give a brief introduction of what is FSOSS. FSOSS stands for Free Software Open Source Symposium. It is an event that happen every year in Seneca@York where people from all over the world gather together and talk about their view on open source, open content, open format which are changing the way everybody work, play and learn. This is my very first time involving in the FSOSS and I find the experience to be extremely rewarding. I strongly encourage everyone who is interested in developing software to attend FSOSS next year. The purposes of this report are to summaries, analysis and make comparison of two talks that I have attended in FSOSS. It is difficult to choose which talk to attend to in the first place, and now it is difficult to choose which two talk to talk about because there are just too many of them. Among all the talks that I have attended, I have decided to focus my report on the following two talks.

  1. Code Reading and Review, by Benjamin Smedberg from Mozilla Corporation.
  2. Open Commercial Development, by Lawrence Mandel and Jeffrey Liu from IBM Canada

I picked the talk on Code Reading and Review because I have been code reading and reviewing for years. I find a lot of strategy on code reading and reviewing Benjamin talked about is similar to what I have been using and I picked the talk on Open Commercial Development because I would like to learn more about the IBM insight of open source development and find their insight to be completely different from what I believe in.

Summary & Comment

Code Reading and Review

Speaker: Benjamin Smedberg

I chose to attend to this talk because I really want to learn about how to read and review better as code reading and review is essential to any coding and debugging process. Especially when I am taking Open Source Project (DPS907), I am hoping I would learn something which I can apply directly to my open source project on localization. His presentation involved materials such as fixing a bug, fixing a feature, reading, writing and using documentation, difficult of code reading and reviewing, how to get detail, how to use lxr, tools that he uses such as grid and find, software framework, version control tool, how to look back in time, where to find and how to talk to an expert, goal of code reviewing, API/design, maintainability, security, UI, integration, testing review, how to form/involve in an open source community, how to invite people to your community, how to decide if the code is worth reviewing or reusing, and the important listen to the community but take the leadership. I have been doing code reading and review for years but I never asked myself why I am reading and reviewing code, but his point of view of why we are code reviewing amazed me. Some of the points he made are somewhat similar to why I have been code reading. I have been using lxr and mxr to tract down the source code I need. When I found a problem in my program and I need to fix it, therefore I am reading my code; bug fixing. I find it difficult to figure how the source code works and I am angry about it because there is no documentation; document code. I have been using grid, find and debugger to debug, read and review code because they are the simplest way to tract down a variable or function. I can really relate to the strategy that he uses in code reviewing, but the above strategy has nothing to do with the open source community. How is code reading and review different in an open source project? Open source is about community, it is about how everyone works together in an open environment when source code and ideas are being shared. This is the best and quickest way to chase down a problem and improve security because there can be thousand of people looking at the same problem at the same time and there can be thousand of people trying to break or fix the code. Open source project can improve something quickly but it is very difficult to control and this cost maintainability problem. Once a source code got published, there can be hundred of people trying to make a new patch for the code. There is a need in maintaining and controlling new patches. Program such as CVS and CVN can be useful in this case. They allow user to view any previous version of the code therefore, if anything went wrong they can always rollback.

Open Commercial Development

Speaker: Lawrence Mandel and Jeffrey Liu

This presentation consists of two parts:

  • Open Source definition and licensing
  • Open Commercial Development.

The first part of the presentation is generally, highlighting the open source definition from the internet website such as opensource.org, microsoft.com, ibm.com, apple.com, etc They highlighted some of the key definition such as: free redistribution, project must include source code, derived works, integrity of the author’s source code and distribution of license. The second part of the presentation is suppose to be about open commercial development, which is suppose to be a new hybrid development model that takes aspects of both the open and proprietary development models to provide a new model for the commercial software development process as defined in the symposium event description but based on what I understand from the talk, open commercial development is not a new development model that is created by IBM. Instead, it is an old development modal that has failed many times based on historic facts. The word, “open” in open commercial development is extremely misleading because open commercial development is not open source. Basically, open commercial development is a transparent development process for which they get user to participate when they are developing new software. In general, they are trying to apply open source technical to development as oppose to what they usually use a “closed” development modal. By applying the open source technical, they are trying to get direct customer involvement into project in order to improve software quality. I find the material and strategy which they have presented to be very similar to the agile development technique and they are trying to make money out of the free direct customer and opening source community input without crediting the contributor.

Speaker and Speaker’s Views on Open Source

I find the view on open source from the speakers of the two presentations to be completely different. Code Reading and Review” is presented by Benjamin Smedberg from Mozilla Cooperation. He has been involved in the open source community for a long time and I feel that he understand the open source community very well. He made a lot of critical suggestion and recommendation to us on how to create, control, lead, use, and work in the open source community. I find his suggestion to be very useful and productive. Open Commercial Development” is presented by Lawrence Mandel and Jeffrey Liu from IBM Canada. They seem to be new to open source as during the presentation, I feel that they are trying to understand what open source is as well. For many time, they have mentioned the definition of open source is different from people to people and I often got confused during their presentation because they often mention how open commercial and different from open source while what they explained as open commercial is identical to the agile development technique. Maybe I got it completely wrong, they are just trying to improve the quality of the program by creating a new development model based on open source but their explanation on open commercial development is as if they are trying to take advantage of open source while renaming agile development technique into something that as already exist and make it their own. Sometime they made me feel that they are just trying to convert open source into something that are more profitable. That is understandable in a business prospective, but in a way it completely destroys the idea of “free software” and “open source”.

My View of Open Source

My definition of open source basically comes from the dictionary. “Open source refers to any program whose source code is made available for use or modification as users or other developers see fit.” Source code is made available publicly online. Everyone can use it, everyone can change it or ignore it. They are free to comments. You can say anything you want. It is a completely free environment to develop software with minimizes constraint as long as you are not making a profit out of it and as long as it is made free to everyone. We share code, we share idea and we help each other on the way. It is an ideal place for everyone to work together and made high quality software. From the FSOSS, I learnt that my definition is somewhat similar to most of the people yet there are different. Open source grants programmer a place to share idea while there are a lot of legal issue attach to it. It is a place where everyone works together while there are often “troll” who destroys the community. Control and leadership are very important in the community. People often resist to changes and it is difficult to identify the different between a “troll” and a “great idea”.


The symposium is a great way to learn about the newest idea in open source. It is a great way to know about new idea, it is a great way to meet new people, it is a great way to know open source better. I have become a better programmer by attending to the talks. I am amazed how people are willing to share their precious knowledge which made them so successful. I learnt to read code better, create better user interface, manage a high traffic website, about the different point of view in open source, about the open source community and how to work with them. Those are knowledge that I cannot learn from anywhere else. Moreover, I got the chance to see and meet with many amazing people from Mozilla, Facebook, IBM, Microsoft, SourceForge and more. I am definitely coming back to the FSOSS next year.