<div class="xblock xblock-public_view xblock-public_view-vertical" data-course-id="course-v1:MOOC-FLOSS+101+2021_1" data-init="VerticalStudentView" data-runtime-class="LmsRuntime" data-runtime-version="1" data-block-type="vertical" data-usage-id="block-v1:MOOC-FLOSS+101+2021_1+type@vertical+block@chap-07-seq-02-ver-01" data-request-token="494466c0903411ee8c631237928d7ffd" data-graded="False" data-has-score="False">
<div class="vert-mod">
<div class="vert vert-0" data-id="block-v1:MOOC-FLOSS+101+2021_1+type@html+block@chap-07-seq-02-ver-01-html-01">
<div class="xblock xblock-public_view xblock-public_view-html xmodule_display xmodule_HtmlBlock" data-course-id="course-v1:MOOC-FLOSS+101+2021_1" data-init="XBlockToXModuleShim" data-runtime-class="LmsRuntime" data-runtime-version="1" data-block-type="html" data-usage-id="block-v1:MOOC-FLOSS+101+2021_1+type@html+block@chap-07-seq-02-ver-01-html-01" data-request-token="494466c0903411ee8c631237928d7ffd" data-graded="False" data-has-score="False">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "HTMLModule"}
</script>
<div class="edit-link-wrapper"><div class="edit-link"><p style="text-align: right;"><a href="https://gitlab.com/-/ide/project/mooc-floss/mooc-floss/edit/master/-/course/html/chap-07-seq-02-ver-01-html-01.html" target="_blank"><i class="fa fa-pencil mr-1"></i> Edit on Gitlab</a></p></div><div class="edit-link-original-content"><p>We're now getting close to our goal: making a small code contribution to the project. By now you should have interacted a bit with a project, and more or less know what your goal will be.</p>
<p>Hence, this whole module will give you generic help and tips, but you will probably find more help within the project!</p></div></div>
</div>
</div>
</div>
<script type="text/javascript">
(function (require) {
require(['/static/js/dateutil_factory.a28baef97506.js?raw'], function () {
require(['js/dateutil_factory'], function (DateUtilFactory) {
DateUtilFactory.transform('.localized-datetime');
});
});
}).call(this, require || RequireJS.require);
</script>
<script>
function emit_event(message) {
parent.postMessage(message, '*');
}
</script>
</div>
<div class="xblock xblock-public_view xblock-public_view-vertical" data-course-id="course-v1:MOOC-FLOSS+101+2021_1" data-init="VerticalStudentView" data-runtime-class="LmsRuntime" data-runtime-version="1" data-block-type="vertical" data-usage-id="block-v1:MOOC-FLOSS+101+2021_1+type@vertical+block@chap-07-seq-02-ver-02" data-request-token="494466c0903411ee8c631237928d7ffd" data-graded="False" data-has-score="False">
<div class="vert-mod">
<div class="vert vert-0" data-id="block-v1:MOOC-FLOSS+101+2021_1+type@html+block@chap-07-seq-02-ver-02-html-01">
<div class="xblock xblock-public_view xblock-public_view-html xmodule_display xmodule_HtmlBlock" data-course-id="course-v1:MOOC-FLOSS+101+2021_1" data-init="XBlockToXModuleShim" data-runtime-class="LmsRuntime" data-runtime-version="1" data-block-type="html" data-usage-id="block-v1:MOOC-FLOSS+101+2021_1+type@html+block@chap-07-seq-02-ver-02-html-01" data-request-token="494466c0903411ee8c631237928d7ffd" data-graded="False" data-has-score="False">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "HTMLModule"}
</script>
<div class="edit-link-wrapper"><div class="edit-link"><p style="text-align: right;"><a href="https://gitlab.com/-/ide/project/mooc-floss/mooc-floss/edit/master/-/course/html/chap-07-seq-02-ver-02-html-01.html" target="_blank"><i class="fa fa-pencil mr-1"></i> Edit on Gitlab</a></p></div><div class="edit-link-original-content"><h4>Reminder on the task</h4>
<p>To achieve our goal to get a small code contribution merged in the project,, most of the prerequisites to this task have been discussed in the previous modules. They should have established a lot of prerequisite context and relationships that will prove invaluable in achieving that (difficult!) task:</p>
<ul>
<li>Since module 1, you know the guiding principles of free software collaboration, and how to establish contact</li>
<li>Since module 2, you can find your way in a software forge, find the code bases, as well as examples of prior contributions, and bug reports</li>
<li>In module 3, you learnt about the different types of actors in projects, their structures, and the impact they have on your contributions</li>
<li>Since Module 4, you should be able to find a project's communication channels, and use them to establish relationships with the projects actors</li>
<li>In Module 5, we gave some general tips on how to run code for a variety of free software projects</li>
</ul>
<p>In this module, we'll use all that knowledge, combined with your programming abilities, to fix something !</p>
<h4>About this module's content</h4>
<p>As with the last module, the contents of the module will try to stay generic with tips and advice, but will actually be complemented by the knowledge you can get from the project you're discussing with. Some of the tips we can give may not apply directly to that project! Try to always keep some critical distance and keep that in mind.</p>
<h4>How peer grading will work</h4>
<p>Once you've submitted a merge request upstream, we'll ask you to update the course gitlab repo to add information about what you did, with info such as: The issue you're trying to tackle, how to reproduce it, a quick explanation of your fix, how you've discussed the fix with the community, the MR link. You'll then submit the gitlab link for grading.</p>
<h4>How to grade others?</h4>
<p>Being linked to a gitlab repo with a part of the information above, it would be a lot to ask for this course to check <em>everything. </em>So, in order to grade, we'll ask you to check out that there is an actual MR submitted for a real upstream project, that it fixes an issue, and its status: if it's already merged, then everything is good! Otherwise, you'll need to evaluate from the MR discussion how it's going: if there is a fruitful discussion going on demonstrating that it will be in (all good in that case), or if it's ignored or outright rejected, which may be a hint that it was not really planned ahead with the community (which may hint at a need for more work).</p></div></div>
</div>
</div>
</div>
<script type="text/javascript">
(function (require) {
require(['/static/js/dateutil_factory.a28baef97506.js?raw'], function () {
require(['js/dateutil_factory'], function (DateUtilFactory) {
DateUtilFactory.transform('.localized-datetime');
});
});
}).call(this, require || RequireJS.require);
</script>
<script>
function emit_event(message) {
parent.postMessage(message, '*');
}
</script>
</div>