250 likes | 373 Views
Cassio Melo [cassio.ufpe at gmail.com]. May/2008. Summary - GSoC. What? Why? When? How? The GSoC process An Application Example Successful SoC projects References. What?. Google Summer of Code™ http://code.google.com/soc/.
E N D
Summary - GSoC • What? • Why? • When? • How? • The GSoC process • An Application Example • Successful SoC projects • References
Google Summer of Code™ http://code.google.com/soc/ The Google Summer of Codeis a program designed to encourage college student participation in open source development • includes most major opensource projects: • GNU, Blender, Debian, Fedora, Gentoo, FreeBSD, GCC, GNOME, KDE, OLPC, Mozilla, Mono, Python, Ubuntu, Apache, Wikipedia, Samba, X11, ... plus about 120 others
Program Statistics 2005 2006 2007 • 400 students • 40 organizations • 49 countries • 80% final success rate • 630 students • 100 organizations • 90 countries • 82% final success rate • 900 students • 130 organizations • 90 countries • 80% final success rate
Why? • The program has been exceptionally successful both for Google and for the participating organizations/projects • Can attract advanced degree research efforts, talented students • Students are eager and work exceptionally hard on their projects (in fact, they usually propose their own project topics) • Successful collaboration model for remotely interacting as part of an open source project with community resources in place
GSoC 2008 Timeline • March 3-12: Google will accept applications from open source projects. • March 13-17: Google program administrators review organization applications. • March 17: List of accepted mentoring organizations published on code.google.com/soc/ • March 24-31: Student applications acceptance period. • Interim Period: Would-be student participants discuss application ideas with mentoring organizations.
GSoC 2008 Timeline • March 24: Student application period opens. • April 14: accepted student proposals announced at code.google.com/soc/ • May 26: Students begin coding for their GSoC projects. • July 14: Mid-term evaluations deadline. • September 1: Final evaluation deadline. • September 3: Students can begin submitting required code samples to Google.
Student stipends • Google will provide a stipend of 5000 USD per accepted student developer, of which 4500 USD goes to the student and 500 USD goes to the mentoring organization. • Accepted students in good standing with their mentoring organization will receive a 500 USD stipend shortly after coding begins on May 26, 2008. • Students who receive passing mid-term evaluations will receive a 2000 USD stipend shortly after the mid-term evaluation deadline, July 14, 2008. • Students who receive passing final evaluations and who have submitted their final program evaluations will receive a 2000 USD stipend and mentoring organizations will receive 500 USD shortly after the final evaluation deadline, September 1, 2008
How? • Open source organizations (e.g., BZFlag, Blender, Gentoo) are invited or apply to participate • Students submit project proposals to the organizations, organizations rank the submissions • Google allocates a given number of slots to each organization, the students work all summer on their project in close mentored collaboration with that organization
May we participate? 1 Google Yes, you may participate, you get N slots Mentor Organization 2 pays student if mentor approves of work and passes midterm and final review 9,10 6,7,8 Discuss proposal, collaborate on implementation plan, student applies, gets selected as one of N slots allocated to org Mentor Ideas 3 The “GSoC Process” by Morrison May I participate? Student 4 5 Student Ideas
Applying • Participate actively in discussion lists, sending patches to the community. • Your project idea *must* be aligned with organization’s expectations – show to the community your idea, ask for suggestions • Make a plan together with the mentoring organization • Be honest enough to assume if you never participated, but you are willing to do so • Think about what you would like to do, before anything else
An application for Google Summer of Code 2007, Creative Commons project OpenOffice.org Writer add-in for publishing CC licensed documents ================================================================= Cassio de Albuquerque Melo <cassio.ufpe at gmail.com> Summary ~~~~~~~ IP issues are becoming critical in all areas. Adobe has recognized that by developing XMP platform. Creative Commons is an important way of adding IP licensing information to a document's metadata. Despite being a requested feature for OpenOffice.org for more than two years, nothing has materialized. [http://www.openoffice.org/issues/show_bug.cgi?id=66656 filed in June 2006; http://www.openoffice.org/issues/show_bug.cgi?id=29404 filed in May 2004]. We can't wait anymore. The goal of this project is to provide a tool for supporting the process of licensing documents. Microsoft Office has a Creative Commons plug-in to put IP metadata in its documents. I propose a similar Creative Commons add-in for OpenOffice.org that would allow license information to be embedded in OpenOffice.org documents. [http://www.openoffice.org/issues/show_bug.cgi?id=29404 is an example of one way this tool could be used.] Having a simple way to add Creative Commons licenses will help to spread those licenses much more broadly. Benefits ~~~~~~~~ My vision is to encourage the use of CC licenses in documents. Authors can express their intentions regarding how their works may be used by others. Implemented suitable interface will make easy the licensing process. This feature is very important for OOo end-users. Moreover, implementation of such add-in will increase CC marked documents. Of course, this metadata inserted only provides a first approximation of the license. Users are encouraged to read the full license to make sure it meets their expectations. Plan ~~~~ This project will build upon existing work. Development will consist of 3 main parts: 1. Accessing web services information I will use webservices to retrieve licensing information from CC licensing engine (through REST interface) and mount the interface. It can be encapsulated as an UNO service, allowing better reuse. 2. Storing license information in file Creative Commons provides RDF descriptions of its licenses. ODF (Open Document Format) can be manipulated as a zip. A metadata file (meta.xml) can be used to embed the license information. For this, the OASIS Open Office XML format specification proposed by Nathan Yergler could be used as a reference. Once chosen the license, it will be available as Auto Text (or Field) and can be easily marked on the pages. 3. Implementing specific features, and testing I have to investigate appropriate handling of licensing information. Issues to be considered: - Exporting to another file format; - Printing to PDF; - Persisting data through OOo older versions. Possible additional contributions (time permitting): - Extend add-in functionality to others OOo applications (especially Impress and Calc); - A wizard that assists people in selecting appropriate license types for their desires; - Display license information when opening CC licensed documents; - Store license information in doc files as well? Once installed, the license-selection software will appear as a menu option in the OpenOffice application. It will generate a Creative Commons logo, a short summary of the license chosen, and a hyperlink to the Creative Commons Web site. I haven't previously contributed to CC projects, so this planning could change during development, but I'm pretty sure that I can accomplish it. The project goals, desirability for the add-in, its plan have been discussed on the CC-devel mailing list and ccWiki, where they received support from CC maintainers. Most likely implementing all the features will be possible after the end of Summer of Code and I'm committing to perform it then.
Deliverables ~~~~~~~~ Brief list of deliverables: - Requirements document: the features to be implemented in a high-level abstraction level, classified by priority; - Project plan: the plan of development, including a detailed schedule and release plan; - Release report: a document describing the currently status of the release; - Progress report: a weekly project status; - Update the OpenOffice wiki page [http://wiki.creativecommons.org/OpenOfficeOrg_Addin]; - Fully functional OOo plugin; - A Patch to OpenOffice if necessary. These assets will be available in project and will be evaluated frequently by the assigned mentor. All the releases schedule, including its features will be defined in the Project Plan which will be delived at the beginning of SoC program. Qualifications ~~~~~~~~~~~~~~ I believe that I'm a suitable person to carry out this project. As a long-time OOo user I'm well too aware of the fact that OOo needs support to CC licences. I did work for a summer in my undergraduate course with the R.i.S.E [Reuse in Software Engineering - http://www.rise.com.br] team at Federal University of Pernambuco, which is an Open Source project though felt more like a University project! :-) [https://simple.dev.java.net/] They do have very good practices for source control, reviews, mailing list, etc. I also understand the importance of good coding and documentation for projects. This (academic) year, I developed an OOo plugin to replace the existing OOo notes. Public distribution will begin in the near future. Additionally I have a year of industrial experience, having worked as a software engineer on C.E.S.A.R [Recife Center for Studies and Advanced System - http://www.cesar.org.br] in a ant/CVS indexer project. Although I hadn't had much contact with CC until few weeks ago, I was aware of its importance for developing countries, especially Brazil. I've been on the CC mailing lists, #cc on IRC and editing project's Wiki, for some time now due to my interest in this project. I know what the developers have been working on and who to approach for assistance. My student group at Computer Science course has several Open Source projects contributors that can help me with doubts. I am eager to improve my abilities, value community service, earnestly desire to enter and participate in this CC Project. Personal details ~~~~~~~~~~~~~~~~ I'm undergraduate student in Computer Science at Federal University of Pernambuco (7th/9 semester). I live in Recife, Brazil. My native language is Portuguese, but I have no problem working with English. I have experience working with people ('supervisors' or other developers) on other parts of the world (mostly Europe, 3-6 time zone away). I have no problem adjusting to a different timezone. Philosophically, I align myself with the FSF (though I don't consider myself a zealot), and support free software because I hope it can kickstart the economies of the developing world, among other reasons. Thanks for your consideration. You can visit my page to know more about me: www.cin.ufpe.br/~cam2/info References Used ~~~~~~~~~~~~~~~ http://www.ukoln.ac.uk/metadata/dcmi/dc-rights/ http://yergler.net/projects/cc-oasis/ccoasis.html http://creativecommons.org/ http://creativecommons.org/technology/metadata/implement
[add yours in this section] Successful GSoC projects
Creative Commons Add-in for OpenOffice.org (a SoC 2007 project) • Creative Commons is a not-for-profit organization that promotes the creative re-use of intellectual and artistic works, whether owned or in the public domain • Creative Commons Add-in for OpenOffice.org allows users to select and embed a Creative Commons license in documents • Writer (word processing documents) • Calc (spreadsheets) • Impress (presentations). • The project was presented at OSCON 2007
Adding UML 2.0 Profiles support to ArgoUML • ArgoUML • UML CASE tool • Currently supports UML 1.3 (with NetBeans MDR) • Offers tools for code generation to many programming languages (e.g. Java, C++,SQL...) • Profiles are the default UML 2.0 language extension tool • stereotypes • tagged values
References • GSoC offical page: http://code.google.com/soc • GSoC Blog: http://googlesummerofcode.blogspot.com • GSoC disscussion list: http://groups.google.com/group/google-summer-of-code-discuss • Creative Commons Add-in: http://wiki.creativecommons.org/OpenOfficeOrg_Addin • Morrison presentation • Google SoC presentation