SPO Lab 1

For this week I was tasked with researching two open source projects with different licenses. After some searching, I came across two animation programs by the name of “Synfig” and “OpenToonz.” With regards to licenses, Synfig uses the GNU General Public License, which in simple terms means the software is free to own, distribute, and modify. OpenToonz on the other hand, uses a 3 Clause BSD License, which means that you have similar freedoms as with a GNU license, but under the condition that any versions of the software you create, will retain the original copyright stating that it is free software. In addition, you are not allowed to use the original creators name to endorse, or promote your own version of the software. Keep it free, and be proud of your own work, and don’t be a liability to the original creator with your software. Fair enough!

That was a bit long so I’ll keep the rest brief. Both companies use GitHub for version control, and they also have documentation on what the procedures to contribute are. These can be found here and here.

Unfortunately I am completely unfamiliar with GitHub, however based on the documentation, developers submit “pull requests” with code changes for review. This is done through Git, and all approved/pending changes can be view via the pull request tab. For my research, I looked at these two quickly resolved pull requests and discovered that they only involved two members: the developer proposing the change, and the project admin. Further more, I noticed that both projects employed the use of a small handful of “bots,” and Continuous Integration services, like “Travis CI,” which would run tests on the code to check for compilation errors. Only after this step would the developer be able to commit their code, and from there have the project admin merge it into the main source code. The process for both patches were resolved within two days, and with minimal discussion, but admittedly appeared to be minor. In this case, the Synfig example dealt with resolving some code warnings, while OpenToonz resolved a UI issue.

From what I have observed, the combined use of testing services/bots really shortens the time for code review. Also, the open source development environment appears to be pleasantly agile in methodology, however there are no planned scrums. When compared to the kind of software development I have studied thus far, I would say it’s a bit of a “wild west” in a sense. To further emphasize that point, there are even bounties for fixing bugs in the software. However despite these being paid tasks, presumably because the software is free, they are not treated like a high priority. While for these free software projects this is fine, it may not be an optimal development process for commercial software that has strict deadlines. That said, many hands make light work, so given the fact that these pieces of software are free, the level of adaptability and polish to them is excellent. If I want to be a part of these impressive communities, I will definitely have to master Git first and foremost.

I did not keep it brief… The next one will be shorter!

Leave a comment

Design a site like this with WordPress.com
Get started