Changes

Jump to navigation Jump to search
3,560 bytes added ,  12:26, 26 March 2018
Line 17: Line 17:  
Here, in Bucharest, is a group of young computer science specialists and students called [http://www.rosedu.org/ ROSEdu (Romanian Open Source Education)]. As an aspiring member of this organization I have created content in the form of questions related to the Introduction to Operating Systems course (a course about how Linux based operating systems work) which have been used on the online competition-quiz platform developed by ROSEdu called World of USO (USO roughly translates to Introduction to Operating Systems in Romanian) which is accessible to students at my University during the first semester of the year, when the course takes place (here is a snippet from an email on the ROSEdu mailing list stating my participation https://pastebin.com/UsUqf1tY).  
 
Here, in Bucharest, is a group of young computer science specialists and students called [http://www.rosedu.org/ ROSEdu (Romanian Open Source Education)]. As an aspiring member of this organization I have created content in the form of questions related to the Introduction to Operating Systems course (a course about how Linux based operating systems work) which have been used on the online competition-quiz platform developed by ROSEdu called World of USO (USO roughly translates to Introduction to Operating Systems in Romanian) which is accessible to students at my University during the first semester of the year, when the course takes place (here is a snippet from an email on the ROSEdu mailing list stating my participation https://pastebin.com/UsUqf1tY).  
   −
I would love to work on an open-source project this summer because I believe that I can learn a lot of relevant information and improve my software developing skills. I also believe that the atmosphere of an open-source organization is one of the best for working and learning because of its passion-driven members.
+
I would love to work on an open-source project this summer because I believe that I can learn a lot of relevant information and improve my software developing skills. I also believe that the atmosphere of an open-source organization is one of the best for working and learning thanks to its passion-driven members.
    
===About your project===
 
===About your project===
Line 28: Line 28:  
GTK is the underlying UI framework of Sugar and therefore is largely used in the whole codebase, including the currently available activities. Many of these activities were written using GTK2 which is now at its life's end. In order to make sure that the activities that are using GTK2 remain supported on newer versions of Sugar which will continuously make use of newer technologies, we must port them to the currently available GTK3 widget toolkit.
 
GTK is the underlying UI framework of Sugar and therefore is largely used in the whole codebase, including the currently available activities. Many of these activities were written using GTK2 which is now at its life's end. In order to make sure that the activities that are using GTK2 remain supported on newer versions of Sugar which will continuously make use of newer technologies, we must port them to the currently available GTK3 widget toolkit.
 
Since activities represent a very important part of Sugar, this project will be beneficial to its end-users who will be able to enjoy their favourite activities without encountering any problems on the present and future releases of Sugar and it will also be beneficial to developers who will be able to expand these activities using GTK3's features and more easily port them to GTK4 when it becomes available.
 
Since activities represent a very important part of Sugar, this project will be beneficial to its end-users who will be able to enjoy their favourite activities without encountering any problems on the present and future releases of Sugar and it will also be beneficial to developers who will be able to expand these activities using GTK3's features and more easily port them to GTK4 when it becomes available.
In order to complete this project, I will use Python, the GTK3 toolkit and the Python binding of it, the PyGObject libraries, the Sugar Toolkit GTK3, Flake8 and any other technology that becomes necessary during the project.
+
In order to complete this project, I will use Python, the GTK+3 toolkit and the Python binding of it, the PyGObject libraries, the Sugar Toolkit GTK3, Flake8 and any other technology that becomes necessary during the project.
 +
The activities that I have planned to port are:
 +
{| class="wikitable"
 +
!Number
 +
!Activity name
 +
|-
 +
|1
 +
|[https://github.com/sugarlabs/arithmetic Arithmetic]
 +
|-
 +
|2
 +
|[https://github.com/sugarlabs/bichos-activity Bichos]
 +
|-
 +
|3
 +
|[https://github.com/sugarlabs/blocku Blocku]
 +
|-
 +
|4
 +
|[https://github.com/sugarlabs/Bounce Bounce]
 +
|-
 +
|5
 +
|[https://github.com/sugarlabs/calendario Calendario]
 +
|-
 +
|6
 +
|[https://github.com/sugarlabs/club-othello-activity Club-Othello]
 +
|-
 +
|7
 +
|[https://github.com/sugarlabs/diccionario-guarani-castellano-activity Diccionario-Guarani-Castellano]
 +
|-
 +
|8
 +
|[https://github.com/sugarlabs/feliz-navidad-activity Feliz-navidad]
 +
|-
 +
|9
 +
|[https://github.com/sugarlabs/fortune-maker-activity Fortune-maker]
 +
|-
 +
|10
 +
|[https://github.com/sugarlabs/FreeFromMalaria Free-from-malaria]
 +
|-
 +
|11
 +
|[https://github.com/sugarlabs/gcd-activity GCD]
 +
|-
 +
|12
 +
|[https://github.com/sugarlabs/panorama Panorama]
 +
|-
 +
|13
 +
|[https://github.com/sugarlabs/read-sd-comics Read-sd-comics]
 +
|-
 +
|14
 +
|[https://github.com/sugarlabs/PuppysPen Puppys-Pen]
 +
|-
 +
|15
 +
|[https://github.com/sugarlabs/compress-activity Compress]
 +
|-
 +
|16
 +
|[https://github.com/sugarlabs/ayni-activity Ayni]
 +
|-
 +
|17
 +
|[https://github.com/sugarlabs/ahorcadito-activity Ahocradito]
 +
|-
 +
|18
 +
|[https://github.com/sugarlabs/jam-tank-activity Jam-Tank]
 +
|-
 +
|19
 +
|[https://github.com/sugarlabs/geotonky-activity Geotonky]
 +
|-
 +
|20
 +
|[https://github.com/sugarlabs/analyze Analyze]
 +
|-
 +
|21
 +
|[https://github.com/sugarlabs/colgadito-spyral Colgadito-spyral]
 +
|-
 +
|22
 +
|[https://github.com/sugarlabs/amazonas-activity Amazonas]
 +
|-
 +
|23
 +
|[https://github.com/sugarlabs/supertux-activity SuperTux]
 +
|-
 +
|24
 +
|[https://github.com/sugarlabs/Lemonade Lemonade]
 +
|-
 +
|25
 +
|[https://github.com/sugarlabs/iknowEditor iknowEditor]
 +
|}
 
* What is the timeline for development of your project? The Summer of Code work period is from mid-May  to mid-August; tell us what you will be working on each week. (As the summer goes on, you and your mentor will adjust your schedule, but it's good to have a plan at the beginning so you have an idea of where you're headed.) Note that you should probably plan to have something "working and 90% done" by the midterm evaluation (end of June); the last steps always take longer than you think, and we will consider cancelling projects which are not mostly working by then.
 
* What is the timeline for development of your project? The Summer of Code work period is from mid-May  to mid-August; tell us what you will be working on each week. (As the summer goes on, you and your mentor will adjust your schedule, but it's good to have a plan at the beginning so you have an idea of where you're headed.) Note that you should probably plan to have something "working and 90% done" by the midterm evaluation (end of June); the last steps always take longer than you think, and we will consider cancelling projects which are not mostly working by then.
   Line 37: Line 117:  
! Week no. !! Time period !! Description
 
! Week no. !! Time period !! Description
 
|-
 
|-
| 1 to 4.5 || 14-05 -> 15-06 || Finish my semester and take my final exams while learning more about GTK, PyGTK, GTS and trying to port at least one activity
+
| -
 +
|23-04 -> 14-05
 +
|Community bonding: attend as many IRC meetings as possible in order to get up to date with what the Sugar Labs community is currently working on
 +
and create a small database of all the original and highly involved contributors to the activities that I will port so in case that I need some specific information
 +
 
 +
about a particular activity that I cannot find otherwise, I can try to get in touch with them.
 +
Ask for advice on how my workflow should look like.
 +
|-
 +
| 1 to 4.5 || 14-05 -> 15-06 || Finish my semester and take my final exams while researching more on GTK+ and the differences between GTK+2 and GTK+3, PyGTK, GTS, Sugar 3 toolkit.
 +
Port activity 1.
 
|-
 
|-
| 5 (remaining of it) || 15-06 -> 17-06 || Port another activity
+
| 5 (remaining of it) || 15-06 -> 17-06 || Port activity 2 and get used to the Sugar Labs coding style.
 +
Discuss with the mentors the quality of my work and how I can improve.
 
|-
 
|-
| 6 || 18-06 -> 24-06 || Port at least another 4 activities
+
| 6 || 18-06 -> 24-06 || Port activities 3 - 6.
 +
Start working on creating a small activity on my own in order to further improve my skills.
 +
 
 +
Use the "Make your own sugar activities" FLOSS manual as a starting point.
 
|-
 
|-
| 7 || 25-06 -> 01-07 || Port at least another 4 activities
+
| 7 || 25-06 -> 01-07 || Port activities 7 - 10.
 +
Continue to discover best practices for porting activities by communicating with my mentors.
 
|-
 
|-
| 8 || 02-07 -> 08-07 || Port at least another 4 activities
+
| 8 || 02-07 -> 08-07 || Port activities 11 - 14.
 
|-
 
|-
| 9 || 09-07 -> 15-07 || Port at least another 4 activities
+
| 9 || 09-07 -> 15-07 || Port activities 15 - 18.
 
|-
 
|-
| 10 || 16-07 -> 22-07 || Port at least another 4 activities
+
| 10 || 16-07 -> 22-07 || Port activities 19 - 22.
 +
Make sure that anything my mentors suggested at the second evaluation is taken into consideration for improvement.
 
|-
 
|-
| 11 || 23-07 -> 29-07 || Port at least another 4 activities
+
| 11 || 23-07 -> 29-07 || Port activities 23-25.
 +
Start reviewing my work.
 
|-
 
|-
| 12 || 30-07 -> 05-08 || Use this time as a safe margin
+
| 12 || 30-07 -> 05-08 || Look again through the activities that I have ported and integrate any improvements that I have discovered after porting the first ones.
 +
Continue to communicate with my mentors and ask for guidance if I encounter problems during the process.
 
|-
 
|-
| 13 || 06-08 -> 12-08 || Use this time as a safe margin
+
| 13 || 06-08 -> 12-08 || Fix any last problems that are found after reviewing the ports.
 
|}
 
|}
 
* Convince us, in 5-15 sentences, that you will be able to successfully complete your project in the timeline you have described. This is usually where people describe their past experiences, credentials, prior projects, schoolwork, and that sort of thing, but be creative. Link to prior work or other resources as relevant.
 
* Convince us, in 5-15 sentences, that you will be able to successfully complete your project in the timeline you have described. This is usually where people describe their past experiences, credentials, prior projects, schoolwork, and that sort of thing, but be creative. Link to prior work or other resources as relevant.
Line 70: Line 167:  
* If your project is successfully completed, what will its impact be on the Sugar Labs community? Give 3 answers, each 1-3 paragraphs in length. The first one should be yours. The other two should be answers from members of the Sugar Labs community, at least one of whom should be a Sugar Labs GSoC mentor. Provide email contact information for non-GSoC mentors.
 
* If your project is successfully completed, what will its impact be on the Sugar Labs community? Give 3 answers, each 1-3 paragraphs in length. The first one should be yours. The other two should be answers from members of the Sugar Labs community, at least one of whom should be a Sugar Labs GSoC mentor. Provide email contact information for non-GSoC mentors.
   −
In my opinion, completing this project will result in a more uniform codebase across the activities available for Sugar. This will make it easier for new Sugar Labs contributors to pick up existing activities and upgrade them further in the future without having to deal with deprecated code or technologies and will provide a more consistent design across the activities (by replacing deprecated widgets, for example). I also consider that having as many activities as possible upgraded to the latest version of the technology stack is important because it makes them more reliable and compatible with newer versions of different underlying components of Sugar and their enhancing future features.
+
In my opinion, completing this project is important because it will offer the possibility to have a larger number of activities available on Sugar after GTK+2 will not be available anymore on Linux, when its security updates support ends  I also believe that this project will help the community by modelling a more uniform codebase across the activities available for Sugar. This will make it easier for new Sugar Labs contributors to pick up existing activities and upgrade them further in the future without having to deal with deprecated code or technologies and will provide a more consistent design across the activities (by replacing deprecated widgets, for example). I also consider that having as many activities as possible upgraded to the latest version of the technology stack is important because it makes them more reliable and compatible with newer versions of different underlying components of Sugar and their enhancing future features.
 +
 
 +
"The world is changing, and we have to change too. If the Linux distros we depend on drop support for the tools we are using, one of the things we could do is update our work so that it remains compatible hence migration to GTK+3 is important." (Chihurumnaya Ibiam)
 +
 
 +
"Sugar will continue to be available as a desktop environment once Linux distributions have dropped support for GStreamer 0.10 and GTK+2." (James Cameron <quozl@laptop.org>)
    
* What will you do if you get stuck on your project and your mentor isn't around?
 
* What will you do if you get stuck on your project and your mentor isn't around?
Line 81: Line 182:     
===Miscellaneous===
 
===Miscellaneous===
  −
Here is a link to a screenshot of my installed Sugar desktop environment on Fedora 27:
      
Here are links to the merge / pull requests I have done so far:
 
Here are links to the merge / pull requests I have done so far:
19

edits

Navigation menu