To promote peer learning via adapting features from other teams, and to ensure fair rewards for authors and re-users of such code, we are introducing a more structured and more transparent way to adopt features from other teams.
If you have implemented a feature/enhancement that you think other teams can benefit from, you are encouraged to offer that feature for reuse by posting an issue in the GitHub forum. In that post you can give some useful info such as what the feature is, link to the relevant PR, known issues, etc.
If you want to adopt such a feature offered for reuse, you should reply in that thread to let the author know.
Benefits to the author
You will earn extra marks when others adopt your code
You can mention such adoptions in your project portfolio page, in your CV, etc.
It will work in your favor when awarding A+ grades, appointing tutors, requesting reference letters etc.
Re-users might discover bugs that you missed
You establish yourself as the original author of the feature
Responsibilities of the author
If you discover bugs in your feature, inform the re-users by posting in the same thread
If re-uses have questions about the feature, try to answer them (no obligation)
Benefits to the re-user
You will be able to implement the feature with much less effort than the original author -- and as a consequence, you will earn less marks for that feature than if you implemented it yourself.
Responsibilities of the re-user
If you discover bugs in the reused code, or if you improved upon the original code, inform the author by posting in the relevant thread
Give credit to the original author in your project documentation
Not claim parts of code you used verbatim (without any change) as your own
FAQ
Q: What if someone offered a feature X for reuse but I want to implement it by myself without reusing it?
A: In that case, don't look at the original code. Implement it on your own, and commit at every step so that it is easy to show how you arrived at your implementation.
Q: What if someone reused a feature from another team without giving proper credit?
A: Those will be considered as plagiarism and will be reported to the university.
Q: What if someone offered a feature for reuse but I have already implemented it on my own?
A: You can post in the same thread to offer yours as an alternative. That gives everyone a rare opportunity to compare alternative implementations and decide which to adopt.
To promote peer learning via adapting features from other teams, and to ensure fair rewards for authors and re-users of such code, we are introducing a more structured and more transparent way to adopt features from other teams.
If you have implemented a feature/enhancement that you think other teams can benefit from, you are encouraged to offer that feature for reuse by posting an issue in the GitHub forum. In that post you can give some useful info such as what the feature is, link to the relevant PR, known issues, etc.
If you want to adopt such a feature offered for reuse, you should reply in that thread to let the author know.
Benefits to the author
A+
grades, appointing tutors, requesting reference letters etc.Responsibilities of the author
Benefits to the re-user
Responsibilities of the re-user
FAQ
Q: What if someone offered a feature X for reuse but I want to implement it by myself without reusing it? A: In that case, don't look at the original code. Implement it on your own, and commit at every step so that it is easy to show how you arrived at your implementation.
Q: What if someone reused a feature from another team without giving proper credit? A: Those will be considered as plagiarism and will be reported to the university.
Q: What if someone offered a feature for reuse but I have already implemented it on my own? A: You can post in the same thread to offer yours as an alternative. That gives everyone a rare opportunity to compare alternative implementations and decide which to adopt.