Skip to content
Extraits de code Groupes Projets
Valider 16fae0db rédigé par Lionel Dricot's avatar Lionel Dricot
Parcourir les fichiers

books and project

parent e7a9fc86
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
# LINGI2401
LINGI2401 - Open Source Strategy for Software Development
# LINFO2401
LINFO2401 - Open Source Strategy for Software Development
Official URL : https://forge.uclouvain.be/ldricot/lingi2401
The course is an open source project in itself. Contribute to this repository, make suggestions and ask questions using tickets.
Students have two projects to complete :
1. Read a book : [instructions and suggestions](books.md)
2. Contribute to an open-source project : [instructions](project.md)
## Asking questions
If you have a question, do what you think is best. Don’t ask for permission, ask for forgiveness.
If you believe that something really should be clarified on this repository, create an issue on this repository. Raise your hand during the course. Speak.
I’m reading my emails but, besides private matters, I will not reply to them to avoid having to reply ten times to the same question.
## Old slides
Slides are in the public domain (licence CC0)
Fork or clone this repository. Open slides/index.html file in your browser. Press “P” to see the comments for each slides.
......@@ -8,6 +27,3 @@ Fork or clone this repository. Open slides/index.html file in your browser. Pres
Please contribute your notes to this course, as comments for the slides or even as separate notes. This will help students that cannot attend the course.
## Questions
Use github tickets to ask questions.
# Reading a book
You are tasked with reading a whole book, cover to cover. Only requirement is that the book should not be a book from another course and should not be a pure technical book. Any other book is valid. Fiction books would be prefered. During the exam, you will have to briefly present the book and to make a connection between the topics seen in class or with any technological/societal topic.
The goal is to make you read something else than a technical manual and make you realise what you have to gain from reading non-purely technical stuff.
You can read in English, French or the language of your choice.
You can read on paper, e-ink. You can borrow from the library or download a pirated version on libgen.rs (please learn to use that wonderful ressource).
## Suggestions
Don’t hesitate to contribute some suggestions of book you read and though would be nice for next year students.
### Little Brother (Cory Doctorow)
Easy to read novel about being a geek teenager in a surveillance capitalist society
### Cryptonomicon (Neal Stephenson)
A novel who tell an alternative history of cryptography.
## Non-fiction suggestions highly related to the course (for those who can’t bear fiction)
### In the beginning was the command line (Neal Stephenson)
### The Daemon, the Gnu and the Penguin (Peter Salus)
A very nice and pleasant read about history of computing
### Richard Stallman et la révolution du logiciel libre (Sam Williams)
A nice biography of Richard Stallman
### Rebel Code (Glyn Moody)
The story on how opensource came to be
### Just for Fun (Linus Torvalds)
Linus Torvalds’s autobiography
# Contributing to an open source project
This is one of the main evalutation point for this course. You are tasked with contributing to an opensource project. The contribution might be really small. The technical aspect of the contribution will not be evaluated. Games are more than welcome (games are wonderful engineering achievements).
What will be important:
- Choice of the project
- Relationship with the community
- Understanding the contribution process
- Understanding the project you contributed to : license, team, processes
## Report
The report should be a journal written in markdown format pushed to this repository. Look at what others did the previous year.
## Collaboration
Collaboration is encouraged between student. Reuse of existing documents is also encouraged. Both are seen as a smart use of your time.
But transparency is crucial. Each part of the report that has been written in collaboration should be clearly indicated. The source of every imported material should be mentioned, potentially with the license.
## Deadline
The soft deadline is two weeks before blocus. Students will present their projects in front of the class during a 5 minutes talk without slides (but a demo is accepted).
The hard deadline for those who missed the soft one is the exam. And the fact that the teacher should read it before your exam. So take your responsibility.
## How to do that?
First, you will have to deal with other people. You will need patience. So start really early. This project can, in most case, be completed easily with less than 30 minutes every week. Unfortunately, it cannot be completed in one week, even working full time on it. So start early!
1. If you are using a proprietary OS, install a free one of your choice (Any GNU/Linux, Freebsd, openbsd or others).
2. Follow a git tutorial and try to get acquainted with git. Git is bread and butter for any developer.
3. Explore the software you use and try to find if there are any opensource. Discuss with others.
4. Once you found an interesting project, git checkout and try to build it locally. You have succeeded only if you can run the version you compiled yourself. This part might be trivial or be really hard, depending on the project. If it’s hard, consider contributing to the documentation to make it easier.
5. Make a trivial change in the project to ensure you can modify the code and run it. Congratulations, you made it!
6. If you made it so fare, explore the bug tracker to see what you could do. Most projects have "easy" bugs kept for beginners. Try to contact the community on the chat or the forum. Try to understand who is doing what. See if the project is active. Does it make sense to contributed to a project without any activity for years? (sometimes, yes, but better check beforehand)
7. Code
8. Submit your Pull Request (PR)
9. Get feedbacks, fix your code and go back to 7 while not accepted.
As you can see, the code itself is the smallest part of the project. Don’t spend too much time on it without clear objectives and guidance from the community. Nobody likes to receive a huge blob of code from nowhere written by an inexperienced student. If you do so, your patch will probably be ignored or rejected.
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter