This document provides information about a software engineering course involving free and open source software (FOSS) projects. Students can choose from three activity options: 1) performing requirements analysis for a FOSS project, 2) testing a FOSS project by finding and reporting bugs, or 3) extending a FOSS project by developing new code. The course aims to give students real-world software engineering experience through collaboration on global FOSS projects.
Open Source Software Engineering - Aristotle Students Guide - English
1. FREE/ OPEN SOURCE SOFTWARE PROJECT
F/OSS Projects
Course: Software Engineering
Lecturer: I. Stamelos {stamelos@csd.auth.gr}
Associates: Ε. Κωνσταντίνου {econst@csd.auth.gr}
Κ. Μουστάκα {katerinamus@yahoo.gr}
S. K. Sowe {sksowe@csd.auth.gr}
NetGeners.Net support: A. Meiszner (a.meiszner@open.ac.uk)
The Open University, UK
Institute of Educational Technologies
http://sweng.csd.auth.gr/
2. Objective of this course
• Get involved in software engineering within a real world
scenario
• By working within Free / Open Source Software projects
• Therefore engaging with peers not only within Aristotle
University, but throughout the globe
• By selecting one of 3 activity options as following
detailed at this presentation
http://sweng.csd.auth.gr/
4. F/OSS Basics
• There are numerous F/OSS projects at the internet
• You can download Free/Open Source Software and use
it freely
• The F/OSS source code is available and can be
modified freely
• You can register and participate to any F/OSS project
http://sweng.csd.auth.gr/
5. Example 1: Sourceforge [http://sourceforge.net/]
You can browse a number of
projects categories here. Search for a Before you can work on a project in
project you know. sourceforge you must create an
account.
http://sweng.csd.auth.gr/
6. Example 2: How to select a project at Sourceforge
Make sure to have a look at a number of different F/OSS projects
before selecting the ones you want to engage at ! ! !
Click on project category
Go to projects sub-categories.
Projects you can select.
More project categories
http://sweng.csd.auth.gr/
7. Example 2: Tigris: [www.tigris.org/ ]
Before you can work on a project at
tigris you must register
Go here to browse
projects available
Shows also FOSS projects
that are hosted and
managed by students http://sweng.csd.auth.gr/
8. General selection criteria of F/OSS projects:
• Operating System / Platform: Should be preferably the same as the one you already use
(Linux, Windows, etc)
• Maturity (Development status): Alpha, Beta, Mature, etc:
• Product/stable: not suitable – inappropriate for testing activities
• Alpha/Beta: most suitable FOSS projects for your project
• General activity of the project: check the following
• # programmers (at least > 3 programmers)
• A large number of people that participate (users, programmers) at the discussion lists
(Mailing lists and Forums) of the project;
• Check what has been discussed at these lists before you send any message about your
project
• At sourceforge you must go to ‘Public Areas’ of the project to check the
collaboration activities of the project
http://sweng.csd.auth.gr/
9. Where to find interesting FOSS projects?
• Sourceforge – [http://sourceforge.net]
– Very good for every kind of FOSS projects
• Freshmeat [http://freshmeat.net]
– Very good for every kind of FOSS projects, also including the
categories Desktop, Utilities.
• Savannah.gnu.org [http://savannah.gnu.org]
– Very good for FOSS projects about software development and
communication tools. Especially good for Linux, Unix users.
• Tigris [www.tigris.org ]
– Very good for FOSS projects about Software Engineering and in
general for students.
…
http://sweng.csd.auth.gr/
12. Option 1: F/OSS Project Requirements Analysis
• Find a F/OSS project without a requirement specification
documentation
• Carry out a requirements analysis for this F/OSS project
• Create the requirement specification document
• The document will be written in Greek (optionally in
English or another language, after informing the tutor).
• The requirements will have to be written down according
to accepted structures and formats using either existing
templates (for example ΙΕΕΕ) or following the structure
of requirement specification documents from other open
source projects.
http://sweng.csd.auth.gr/
13. Strategy Option 1: F/OSS Project Requirements
Analysis
F/OSS
Project
1
Students 2
Requirements Download Software
Engineers
Install & Run Software
Select another
project
Understand Program
No
Functionalities?
4 Write the
document. (Use
3 Yes
Submit Document
any help provided
to the Community
by the
community)
Students from Aristotle University are asked to send the following information by
email to: econst@csd.auth.gr:
•First and Last Name, AEM and URL of the FOSS project/s they are working on
•Login name + password of the community space
http://sweng.csd.auth.gr/
14. Option 1: F/OSS Project Requirements Analysis
Please keep in mind:
1. Do not write a document for a project if it already exists
2. Follow the requirements analysis template document provided
3. If you need information you can
• Ask the developers of the project
• Use the help files (if exist)
4. Help Files
• Do not copy from the help files
• Use the information you find in the help files, by embodying it to
your document
5. Do not use large fonts just to fill more pages
For any problem, question, etc send a message to the course’s associates
http://sweng.csd.auth.gr/
15. Option 1: F/OSS Project Requirements Analysis
Deliverables / Expected Outcomes
• Printed (with CD) requirements analysis document
• Online published requirements analysis document
• A small report about your project including (1) a summary of your activities,
(2) the workplan you developed to carry out your project (e.g. selection
criteria, list of your activities) and (3) an overview of messages exchanged
with other participants
• The report shall be published by you online (e.g. at the NetGeners.Net wiki)
http://sweng.csd.auth.gr/
17. Option 2: Test F/OSS Project
• Select one F/OSS project
• Describe development status of the project
– Alpha/Beta
• Find Bugs
• Report Bugs
• Contribute to the community
– Fix bugs you found or bugs reported by others
(Optional)
http://sweng.csd.auth.gr/
18. Strategy Option 2: Test F/OSS Project
Students from Aristotle University are asked to send the following information by
email to: econst@csd.auth.gr:
•First and Last Name, AEM and URL of the FOSS project/s they are working on
http://sweng.csd.auth.gr/
•Login name + password of the community space
19. Option 2: Test F/OSS Project
Please keep in mind:
1. Wonder if what you found is really a bug
2. Search for
• existing bug reports for similar bugs
• if it is already register to the BTS (Bug Tracking System)
3. Add comments to your report
4. Submit the bug with the BTS
5. Or send a message to the discussion list. Use the forum to discuss
what
7. Select a subject for your messages that describes the bug
8. At the message description, describe the bug with information that
enable its reproduction, like:
• The platform you use
• Exactly what you did when the error occurred
9. Don’t send bug reports directly to the project’s programmers
For any problem, question, etc send a message to the course’s associates
http://sweng.csd.auth.gr/
20. Option 2: Test F/OSS Project
You might not:
• Do not submit 1-2 bugs and then abandon the project.
• Send unnecessary clarification requests
• Report bugs that are already reported
• Report bugs in a short amount of time
• Urging community member for replies
• Send unnecessary emails to the developers and members of the
community
• Translate the project (except for fun, but not as part of your work)
Note: You won’t be evaluated by large number of traffic, but by the
analytical and critical work you actually did!
http://sweng.csd.auth.gr/
21. Option 2: Test F/OSS Project
Deliverables / Expected Outcomes
• A small report about your project including (1) a summary of your activities,
(2) the workplan you developed to carry out your project (e.g. selection
criteria, list of your activities) and (3) the bugs you found, the communities’
response and a summary of your activities
• The report should include for every bug you submitted
– Your actions (submission report, support to the programmers, other
users)
– The response of the project’s participants (other users, programmers)
– If the bug was fixed
– If you participated to the correction of the bug by programming
(optional)
• The report shall be published by you online (e.g. at the NetGeners.Net wiki)
http://sweng.csd.auth.gr/
23. Project Option 3: Extend F/OSS Project
• Find a F/OSS project and contribute to the code
development of the project by improving parts of the
functionality (e.g. implement functionalities from feature
requests).
• Develop code for the project (programming language of
your choice)
• Submit the code to the project management / relevant
group to be evaluated and accepted.
• In the case you identify bugs alongside your work report
them and (optional) try to fix them
• The size of the code is up to you!
http://sweng.csd.auth.gr/
24. Strategy Option 3: Extend F/OSS Project
F/OSS
Project
Students Coders Download Software
Install & Run Software
Select another
project Familiar with the
No programming language
of the project?
Yes
Write code to
Submit Code to
implement certain
the CVS/SVN
functionalities
Students from Aristotle University are asked to send the following information by
email to: econst@csd.auth.gr:
•First and Last Name, AEM and URL of the FOSS project/s they are working on
http://sweng.csd.auth.gr/
•Login name + password of the community space
26. Option 3: Extend F/OSS Project
Deliverables / Expected Outcomes
• Code developed by you printed, on a CD and placed online by you
• A small report about your project including (1) a summary of your activities,
(2) the workplan you developed to carry out your project (e.g. selection
criteria, list of your activities) and (3) an overview of messages exchanged
with other participants
• The report shall be published by you online (e.g. at the NetGeners.Net wiki)
http://sweng.csd.auth.gr/
27. Aristotle Students: Self evaluation survey
• You will be asked to answer a survey with information about:
– At the beginning of the course:
• What you consider to be your personal learning style
• What would be your strategy for selecting a project
– At the end of the course:
• How successful you feel you have been?
• What do you have achieved?
• What have you learnt?
http://sweng.csd.auth.gr/
28. That’s it!
Thanks for your attention and be encouraged to
contact us if things are unclear or you need
assistance!
http://sweng.csd.auth.gr/