Chapter 4 – Open Source Development Platforms
Asmelash G.
Department of Information Technology
Open Source Computing
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
2019-05-06 IT4208 Open Source 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
2019-05-06 IT4208 Open Source 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
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/)
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
2019-05-06 IT4208 Open Source 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
2019-05-06 IT4208 Open Source 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/
2019-05-06 IT4208 Open Source 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
2019-05-06 IT4208 Open Source 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/
2019-05-06 IT4208 Open Source 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.
The End ☺

04. Open Source Development Platforms.pdf

  • 1.
    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.
  • 13.