ESUG Application to Google Summer of Code 2012
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.
4. Why is your organization applying to participate in GSoC 2012? 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.
5. Did your organization participate in past GSoCs? If so, please summarize your involvement and the successes and challenges of your participation.
Our participation in 2010 as ESUG and 2007, 2008 through the more narrow Squeak Smalltalk project has already helped Smalltalk gain more visibility.
In 2010 the Smalltalk communities of Squeak, Pharo, GNU Smalltalk, Smalltalk-X, Dolphin, VA Smalltalk, VisualWorks, Gemstone as well as languages derived from Smalltalk like Self, Strongtalk and Newspeak have
decided to join forces and apply together under the Smalltalk banner through ESUG.
This joined application shown that the Smalltalk community is still a strong force in the software industry.
During the previous GSoC participations we had students with different levels of knowledge in Smalltalk. Some were newcomers and others already knew about Smalltalk. All the students finished their projects and for last year all students except one are continuing contributing to the community. We expect that some students will become mentors and one even admin for this year GSoC.
6. If your organization participated in past GSoCs, please let us know the ratio of students passing to students allocated, e.g. 2006: 3/6 for 3 out of 6 students passed in 2006.
2010: 6/6 Our precedessor The Squeak Project had the following ratios: 2007: 5/5 2008: 5/5
7. What is the URL for your ideas page?
8. What is the main development mailing list for your organization? This question will be shown to students who would like to get more information about applying to your organization for GSoC 2012. If your organization uses more than one list, please make sure to include a description of the list so students know which to use.
8. Does your organization have an application template you would like to see students use? If so, please provide it now. Please note that it is a very good idea to ask students to provide you with their contact information as part of your template. Their contact details will not be shared with you automatically via the GSoC 2012 site.
As before we will provide registration a web application on our Smalltalk GSoC website, where students will enter all contact info and short biography by answering the following questions:
- Briefly about me
- About my study
- My interests
- My non-Smalltalk experiences so far
- My Smalltalk experiences so far
- Why am I interested in Smalltalk?
- Will I stay with Smalltalk after the project is finished?
9. What criteria did you use to select the individuals who will act as mentors for your organization? 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 knowlegde.
- 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.
10. 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.
11. 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.
12. 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.
13. Anything else you'd like to tell us?
We would like to take this opportunity to thank to Google and specially to all the GSoC administrative team for an
excellent work you are doing. The truth is that GSoC is an excellent opportunity and very much appreciated in the open-source software community as a whole. It is an invaluable effort that not many other companies are willing to do.
It is really amazing how a Google manages to join developers all over the world, working on different projects,
with totally different technologies, pay them, and more important, let them learn and have fun.
We really hope that a Smalltalk community will get an opportunity this year because we would love to join the
game. Be sure again, we will not disappoint you.
Being selected or not, thanks again for this wonderful and incredible contribution to the open-source communities.