ESUG Application to Google Summer of Code 2013
Questions and answers from official GSoC application:
1. Organization Name
ESUG (European Smalltalk User Group)
The European Smalltalk User Group (ESUG) is a non-profit user organization that supports all kinds of Smalltalk related initiatives, with the main focus on free/open-source projects which benefit the whole Smalltalk community and beyond.
ESUG was registered in 1991 with goals to do the following and more:
- Promote communication between Smalltalk users through meetings, periodic newsletter, software exchange, electronic mail, etc., and by organizing events like the ESUG Conference,
- Promote books, articles, publications, student internships, etc.
- Promote open-source Smalltalk projects through ESUG SummerTalk which funds students during the summer,
- Although the name of ESUG says it is European, the truth is that the scope is worldwide. It links all individual and corporate users of Smalltalk programming environments in the world,
- Support local users groups and establish new ones,
- Support Smalltalk projects and initiatives such as the free web hosting, source code servers, etc.
- Identify Smalltalk users and their needs and represent them towards discussions with vendors.
- Represent the Smalltalk community in discussions with the major Smalltalk vendors.
3. Home page
4. Main Organization License
6. Backup Admin
7. If you chose "veteran" in the dropdown above, please summarize your involvement and the successes and challenges of your participation. Please also list your pass/fail rate for each year.
We are constantly trying to improve our internal GSoC process. So far we are quite good in initial steps while 'pairing' ideas with mentors and later with students. Now we will focus on later steps improving the evaluation process and better promoting results back to the community, including probably mandatory student presentation of their projects at one of our conferences.
Pass/fail rates of our past GSoC are:
- 2012: 10 projects pass / 3 fail
- 2010: 6 projects pass / 0 fail
Our predecessor The Squeak Project had the following ratios:
- 2008: 5 projects pass / 0 fail
- 2007: 5 projects pass / 0 fail
8. Why is your organization applying to participate in GSoC 2013? What do you hope to gain by participating?
Supporting open-source projects is one of the most important objectives of ESUG. Participating at GSoC will increase the visibility of ESUG efforts, thus favoring interactions with other communities.
Smalltalk was well ahead of its time when it introduced object oriented programming, dynamic typing, integrated development environment, graphical user interface, windowing, virtual machine, bytecode and cross platform portability in 1972. Due to an unfortunate combination of circumstances and events, Smalltalk has lost the limelight in favour of other languages like C, C++, Java and C#, who copied a lot of its features. Smalltalk has however maintained a strong following and has continued innovating and pioneering concepts like: refactoring, reflection and extreme programming. Smalltalk related innovations also continue with the development of new languages like Self, Strongtalk and Newspeak.
Furthermore, we have a long list of excellent ideas. Having students being paid for implementing them would definitely help the Smalltalk community and improve our programming environment and tools and also bring fresh blood to the community.
We expect also to bring more people into our community. That's very interesting as the Smalltalk community is trying to be more open minded. We want people from other communities to join ours and we are also interested in what is happening outside and to share experiences or ideas. Fortunately for us, dynamic languages like Python, Ruby, among others, enjoy increasing popularity. This is an excellent opportunity to join, show and learn from and with other communities.
Finally, participating in the Google Summer of Code 2010, (also 2007 and 2008 through the Squeak organization) has helped us gain some more visibility, so we are hoping to be able to repeat the experience this year and make it even better.
11. What is the URL for your ideas page?
12. What is the main development mailing list for your organization?
13. What is the main IRC channel for your organization?
##smalltalk on Freenode
14. What criteria did you use to select your mentors for this year's program? Please be as specific as possible.
The following is a list of the commonly used criteria to select the mentors:
- Participation in the community. This is if the mentor is active in the mailing lists, IRC channels, writing blogs, etc.
- Reputation in the community.
- Knowledge of the specific project.
- Experience: with which projects has the mentor previously been involved, the results, the impact in the community.
- Communication skills: How will the mentor be able to help the student, answer emails, warn about deadlines, refer to links or papers, etc. The mentor's communication skills are regarded just as high - if not higher - than the technical knowledge.
- Interest: those who are enthusiastic and can show that they are really willing to do the job.
- Couples: all projects have not only mentors, but also backup/co-mentors.
- Only one project per mentor: It is known that being mentor is not an easy task and it deserves time and dedication. We think it is better that a mentor only takes one project. We think that mentors should concentrate in one project and give as much as possible for it in order to succeed together with the student. Very experienced mentors may be considered to act as co-mentor on a second project if required.
15. What is your plan for dealing with disappearing students?
Since ESUG is acting on behalf of all Smalltalk implementation there is a large pool of willing and able
candidates. Smalltalk is commonly used academically at universities for teaching Object Oriented Programming
which means there are a lot of available students. However, we will try to do as much as possible to prevent student disappearing.
- The students will be involved in defining the details of their project. We do not close any doors leading from the specification. Maybe the student will suggest a better project than the proposed one. Clearly, if the student is not motivated by the current project, it will not work. On the other hand, some students want to have everything detailed and simply implement what has been specified. The key here is to have both kinds of project flexibility.
- We will encourage and support the student until the end. We will monitor and let them know all the deadlines, and will remind them as necessary. All students will have access to not only their mentor, but also the ESUG and all experts from various Smalltalk mailing lists.
- We are planning to have a stand-by, substitute for each student. Our main idea is not only that the student learns a lot, but also for the project to complete. We have seen a lot of projects in the GSoC history that never end or never get to a stable (released) status.
- We will ask the students to demonstrate progress to their mentors frequently. We would rather like them having a talk once a week or once every few days than once in 2 months. In the later case there is a big risk that the student might fail, lose time on non-productive roadblock, go in the wrong direction or have some other problem. We want to iterate frequently and continuously. Regular online meetings in addition to the email support will be encouraged.
- One of the most common reasons why a student gives up GSoC is because the project had too large a scope or was too difficult. In order to avoid that, we have projects with different levels of difficulty, with different technologies and with different "priorities" of the use cases. For example, we have have a list of "must do" but also a "wish list" that can be done as a bonus. In summary, we try to scope and scale our projects. This lets us attract the widest variety of students and each student can apply for the project that is most appropriate to his/her level of skills and needs.
- Similarly to the previous item, sometimes the students feel they do not know enough about certain technologies or concepts. To solve this, for each project we will establish the prerequisites, technologies or skills that the student needs to or should have.
- We have instructed our mentors to pay special attention to the start of the project. They must not let students enter in the famous "where can I start?" or "I have no idea!!!". Mentors should provide all links and all the necessary information to the students so that they can start correctly.
- Despite all precautions sometimes it occurs that there are personal conflicts between a mentor and a student. This is an important reason why we propose co-mentors or backup students. Of course, before having to change a mentor or a student, we will encourage them to talk and discuss about the problems. What is really important is that if there is a problem, that should be discussed and talked. Otherwise, it may be too late to fix it.
16. What is your plan for dealing with disappearing mentors?
The possibility of a mentor disappearing is much smaller because mentors tend to be very valuable members of the Smalltalk community who have their reputation at stake. We'll also have one backup mentor per project ready to step up in case a mentor does have to drop out (for instance through ill-health or work commitments).
It is common for people to underestimate the amount of time that GSoC takes. This may lead into disappearing mentors. In order to avoid such problems, one person can be only mentor of one project.
In addition, before the project starts, we will collect all the mentors' contact info (mail, IM, Skype, etc) so that the
students will have enough direction to reach the mentors.
17. What steps will you take to encourage students to interact with your project's community before, during and after the program?
As we said, we want the students to learn, code and have fun, but we also want real, released, stable or finished
projects. We want the projects to be useful for the community.
- We will promote the Smalltalk GSoC among students in universities and elsewhere,
- We will show the students that their projects will be very useful for the community. All the students will be using the very active mailing lists to ask advice and get feedback.
- We'll try to have periodic (weekly or bi-weekly) IM/IRC meetings with them.We'll encourage them to blog about progress of their projects and to hang around on the IRC channels.
- Participating students will be invited to present about their GSoC project at the next ESUG conference.
- The projects will also be advertised in the community and we'll ask the community for feedback to show to the students that their work is valued.
- There are different kind of students. Some are shy to write in a mailing list or IRC channel. We encourage our mentors that when they have to discuss with the students, to do it in the mailing list instead of privately. Even if they are the only ones in the conversation. This way, the student can slowly be incorporated in the social part of the community, which, from our point of view, is very important.
18. What will you do to encourage that your accepted students stick with the project after Google Summer of Code concludes?
- invite and co-finance them to present their GSoC project on Smalltalk conferences (like ESUG Conference next September 2013 in France),
- if successful they are more than welcomed to join and start contributing on established community projects
- as a small community we try to help them staying with Smalltalk by getting them into a "network of Smalltalk professionals", so that they can get the Smalltalk job easier.