O pen S o urc e Computing
Chapter 4 – Open Source Development Platforms
Asmelash G.
Department of Information Technology
Outline
• Infrastructure requirements for open source
• Websites and hosting
• Mailing lists
• Forum management
• Spam protection
• Version control – Vocabulary, choosing version control, Using version control;
• Bug tracking
• IRC/ Real time chats, wikis, Q&A forums
• Forkability
2019-05-06 IT4208 Open Source Computing 2
Infrastructure requirements for open source
• Configurations are shared openly in a source code repo
• You conduct planning and decision making in the open;
• Generally following the open source way in running your infra
community;
• Applying the four freedoms to your infra details.
• Lower barriers to participation
• Incremental gains in quality as ideas & fixes are submitted
• Users of your infra are more able to solve their own problems and offer solutions
• Integration with development is much easier - your CI/CD pipelines are the same
as the developers, etc. CI/CD – Continuous Integration/Deployment
2019-05-06 IT4208 Open Source Computing 3
Infrastructure requirements for open source…
• Open Source Infrastructure List • FOSDEM
(https://opensourceinfra.org/) • Ubuntu
• OpenStack • MediaWiki
• Rubygems • OSU Open Source Lab (OSUOSL):
• Debian • etc
• Mozilla
• Hashbang
• Python Foundation
• Fedora
• The open source way .org
• Jenkins
2019-05-06 IT4208 Open Source Computing 4
Websites and Hosting
• You can build your website using open sources website makers.
• Best open source CMS platforms
• WordPress • Web hosting for open source software:
• Joomla • GitHub (github.com/)
• Drupal • GitLab (gitlab.com/)
• Open source host (www.opensourcehost.com/)
• Thunder
• Ghost
• etc
2019-05-06 IT4208 Open Source Computing 5
Mailing Lists
• A mailing list is a collection of names and addresses used by an
individual or an organization to send material to multiple recipients
• Sympa
• Mailtrain
• phpList
• Maily Herald
• OpenEMM
• Dada Mail
2019-05-06 IT4208 Open Source Computing 6
Forum Management
• Open source forum management
• Discourse.
• phpBB
• Vanilla
• SimpleMachinesForum
• bbPress
• MyBB
• miniBB
2019-05-06 IT4208 Open Source Computing 7
Spam Protection
• Open source spam protection:
• OrangeAssassin
• MailScanner
• Apache SpamAssassin
• Apache SpamAssassin is an anti-
spam open source platform that
provides a filter to classify email
and block spam.
• Read more:
• https://www.comodo.com/home/email-security/best-
open-source-anti-spam.php
2019-05-06 IT4208 Open Source Computing 8
Version Control
• A version control system allows users to keep track • Best Version Control Systems
of the changes in software development projects • Git
and enable them to collaborate on those projects. • GitHub
• Using it, the developers can work together on code • GitLab
and separate their tasks through branches. • SVN [tortoise]
• The branches maintain individuality as the code • Read more :
changes remain in a specified branch(s). • https://www.softwaretestin
ghelp.com/version-control-
• Developers can combine the code changes when software/
required, view the history of changes, go back to
• Learn how Git works
the previous version(s) and use/manage code in the
desired fashion. • https://learngitbranching.js.
org/
2019-05-06 IT4208 Open Source Computing 9
Bug Tracking
• A bug tracking system or • Open source bug tracking systems:
defect tracking system is • Bugzilla
a software application • Mantis
that keeps track of • Trac
reported software bugs • Redmine
• Request Tracker
in software development
• OTRS
projects. • EventNum
• It may be regarded as a • Fossil
type of issue tracking
system.
2019-05-06 IT4208 Open Source Computing 10
IRC/ Real time chats, wikis, Q&A forums
• Open source IRC/ Real time • Open source Q&A forums:
chats: • Question2Answer (PHP + MySQL)
• Slack (not open source tho) • Scoold (Java, Spring)
• HexChat (desktop) • Askbot (Python, Django + MySQL)
• Irssi (terminal) • Vanilla (PHP + MySQL)
• Kiwi IRC (web) • Discourse (Ruby, Rails +
• Yaaic (mobile) PostgreSQL)
• https://erudika.com/blog/2018/1
• Open source wikis: 2/30/Top-5-open-source-Q-A-
platforms/
2019-05-06 IT4208 Open Source Computing 11
Forkability
• Capable of being split into separate
processes.
• By forkability, we mean the project
that you are going to developer
shall be:
• Copied by developers for their own
purpose
• Then allow them to work on it
• Hence, many projects can be evolved
from it.
2019-05-06 IT4208 Open Source Computing 12
The End ☺