provide practical understanding how to participate and establish an open source software development project. The exercise project will be done in the same groups that you work in writing your course article.
Exercises require active participation into the given simulated open source software project. During the exercise weeks (see schedule below), you are expected to work across the week – not only just before the deadline. You also need to to keep records of your work as required in the instructions.
The project worked upon is a simple client-server app implemented in Java (JDK 1.8). git + GitHub.com version control tools will be used. Additional tools will be needed and listed later. In case you are not familiar with git, you can find a tutorial here. If your group does not include anyone familiar with Java, you may work in tasks related to the exercise project usability/user interface issues, and/or designing future feature suggestions or similar. So there is not panic if Java is not a familiar language to anyone in your group.
You should install, if not already installed, git and Java Development Kit v 1.8 in your computers before the exercise project starts, and additional software as instructed by the dictator team. Additionally, your team members should have accounts on GitHub.com that you will use in the exercise project.
Here you can find the course tutorial video on how to
- Create issues to a project,
- Fork the project from GitHub,
- Clone it to your own computer,
- Create a branch to fix the issues in the original project,
- Create a pull request to the original project, offering the fix you made for evaluation,
- See the pull request being accepted,
- Synchronise your project with the now changed original project to keep your fork up to date with the original.
You will follow the same procedures when contributing to the course exercise project.
Guides and information
Read the project (link to GitHub project repository below) readme and contributing guide very carefully. Especially take note on how to claim an issue for your group to solve! You must follow the guides (including code of conduct) of the project carefully and provide your patches as instructed.
Participate in the project like it would be a real open source project. That is, do not ask teachers about matters of the project. Ask in the project Slack workspace channels (see below). Follow the project documentation and act accordingly.
Contributor guide instructions must be followed to successfully pass the exercises. Note that you need to follow also the contribution guidelines given by the dictator group in the exercise project. You must provide at least one patch, following the project guidelines, to pass the exercise project. Patch can be code but also something else (documentation, GUI design, etc.).
You must keep an informal group diary to write down your activities, problems, how you solve them and other reflections on how you participated in the project, daily. You will need this when you prepare for the exercise project workshop (see schedule below). In the workshop, your group will present (~5 min presentation) these experiences and reflect them against the course lectures and other content/learnings of the course.
You will find exercise project information from the following:
- Github repository: https://github.com/mbuet2ner/JEasyCrypto
- List of bugs and feature requests: https://github.com/mbuet2ner/JEasyCrypto/issues
- Additional information: see the contribution guide, code of conduct and readme in the GitHub repository.
In case of questions or problems related to the project, please use the ossd2019.slack.com workspace (you
will get got an invitation to join in your weboodi email soon).
Deadlines. See the schedule below. The exact deadlines are given in the instructions.
By Sunday, September 22, 2019: Form a group and inform teachers if your group want to act as a dictator.
Monday, September 23, 2019 - Wednesday, October 16, 2019: Dictators' setup period.
Monday, November 4 - Sunday, November 24
Thursday, October 17 - Sunday, November 10, 2019: Contribution period, part I. By the end of this phase, you must have provided at least one patch to the project GitHub repository.
Monday, November 25 - Sunday, December 1
November 18 - Sunday, November 24, 2019: Follow-up period, part II.
Phase II of the project is the following task:
You want to commercialise JEasyCrypto based on your fork. Obviously, you must follow the licensing of the original project. Document in a one page plan how would you earn some money from/based on the JEasyCrypto. Consider different alternatives you see for commercialisation. Present this commercialisation plan briefly at the end of your presentation in the exercise workshop. Email the commercialisation plan to Antti Juustila before the exercise workshop.
For the exercise workshop presentations, please use the provided slide template. Please note the timing of the presentations; do not prepare too long slide sets / presentations and remember to stick to the duration allocated for your group's presentation. Exact timing will be published before the workshop, but usually each group have had 5-7 minutes for their presentation. At the end of the workshop there will be some time for discussions and feedback.
Please remember the focus of this exercise – to learn from the practical project, reflecting against course lectures and literature you have read during the course, and of course using your own experiences outside the course.
Tuesday, December 3, 2019
(Tuesday, November 26, 2019): Exercise Workshop at 14:15 - 17:00 in lecture hall L9.