Chapter 4 –Open Source Development Platforms
Asmelash G.
Department of Information Technology
Open Source Computing
2.
Outline
• Infrastructure requirementsfor 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
3.
2019-05-06 IT4208 OpenSource Computing 3
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
4.
2019-05-06 IT4208 OpenSource Computing 4
Infrastructure requirements for open source…
• Open Source Infrastructure List
(https://opensourceinfra.org/)
• OpenStack
• Rubygems
• Debian
• Mozilla
• Hashbang
• Python Foundation
• Fedora
• The open source way .org
• Jenkins
• FOSDEM
• Ubuntu
• MediaWiki
• OSU Open Source Lab (OSUOSL):
• etc
5.
Websites and Hosting
•You can build your website using open sources website makers.
• Best open source CMS platforms
• WordPress
• Joomla
• Drupal
• Thunder
• Ghost
• etc
2019-05-06 IT4208 Open Source Computing 5
• Web hosting for open source software:
• GitHub (github.com/)
• GitLab (gitlab.com/)
• Open source host (www.opensourcehost.com/)
6.
Mailing Lists
• Amailing 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
7.
Forum Management
• Opensource forum management
• Discourse.
• phpBB
• Vanilla
• SimpleMachinesForum
• bbPress
• MyBB
• miniBB
2019-05-06 IT4208 Open Source Computing 7
8.
2019-05-06 IT4208 OpenSource Computing 8
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
9.
2019-05-06 IT4208 OpenSource Computing 9
Version Control
• A version control system allows users to keep track
of the changes in software development projects
and enable them to collaborate on those projects.
• Using it, the developers can work together on code
and separate their tasks through branches.
• The branches maintain individuality as the code
changes remain in a specified branch(s).
• Developers can combine the code changes when
required, view the history of changes, go back to
the previous version(s) and use/manage code in the
desired fashion.
• Best Version Control Systems
• Git
• GitHub
• GitLab
• SVN [tortoise]
• Read more :
• https://www.softwaretestin
ghelp.com/version-control-
software/
• Learn how Git works
• https://learngitbranching.js.
org/
10.
2019-05-06 IT4208 OpenSource Computing 10
Bug Tracking
• A bug tracking system or
defect tracking system is
a software application
that keeps track of
reported software bugs
in software development
projects.
• It may be regarded as a
type of issue tracking
system.
• Open source bug tracking systems:
• Bugzilla
• Mantis
• Trac
• Redmine
• Request Tracker
• OTRS
• EventNum
• Fossil
11.
2019-05-06 IT4208 OpenSource Computing 11
IRC/ Real time chats, wikis, Q&A forums
• Open source IRC/ Real time
chats:
• Slack (not open source tho)
• HexChat (desktop)
• Irssi (terminal)
• Kiwi IRC (web)
• Yaaic (mobile)
• Open source wikis:
• Open source Q&A forums:
• Question2Answer (PHP + MySQL)
• Scoold (Java, Spring)
• Askbot (Python, Django + MySQL)
• Vanilla (PHP + MySQL)
• Discourse (Ruby, Rails +
PostgreSQL)
• https://erudika.com/blog/2018/1
2/30/Top-5-open-source-Q-A-
platforms/
12.
2019-05-06 IT4208 OpenSource Computing 12
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.