User Tools

Site Tools


Announcement of participation in Google's Summer of Code

Good news! The gEDA Project has been accepted as a mentoring organization by Google's Summer of Code program! The alphabetized list of all projects participating in Google's SoC is presented here:

gEDA is listed as “The gEDA Project”. We are very pleased to be recognized as a participant in the Summer of Code project!

Now is the time for interested students to get their applications ready. Note that if you want to participate in the SoC, you must apply to Google, not to the gEDA Project. However, prior to making an application to Google, I suggest you contact one of us (Dan, Stuart) who can informally review your project proposal, and suggest a mentor for your project. The mentor will be one of the well-known developers who have worked on the gEDA Project for a while. The list of available mentors is shown at the bottom of this page. Your mentor will be your boss: he will help guide you through the code, refine your project requirements, answer questions, monitor your progress, and rate your performance at the middle and at the end of the project.

After that, you must apply directly to Google through this web page:

Good luck with your application, and we look forward to working with you!

Google application information.

The gEDA Project invites students to work with us under the auspices of Google's Summer of Code program! We are a group of professional hardware and software engineers with an interest in developing CAD tools for electronic design under Linux (and other unix flavors). The project is over eight years old, and has matured to the point where our design tools are suitable for use by students, professionals, educators, hobbyists, consultants, and anybody who needs a set of quality EDA tools for Linux. Becoming involved in the gEDA Project is a great way to learn about both software engineering and electronics!

Details for student applications to Google can be found in the Google SOC Student FAQ. Students may find the list of gEDA Google SOC project suggestions useful. Note that students apply to Google for project approval, not to the gEDA Project! However, we encourage you to contact us early if you are interested in working on a gEDA Summer of Code project, since we can then hash out the details of your project and help you with your application. To contact us, please post a message on the geda-dev e-mail list. or contact one of the mentors directly.

Project timeline and commitment level

A Google Summer of Code project should be considered a full time job and will require that level of time commitment. In addition, there must be some working code committed in time for the midterm evaluation for a good review. Project Details

When submitting an application or project proposal, please include the following details about the project:

  • Summary of the project including the end goal. This should be a couple of paragraphs – enough to fully explain what you have in mind. Writing a couple of use-cases will help if you are creating a new program (as opposed to upgrading an existing one).
  • Detail the scope of the project. What do you intend on delivering and what do you not intend on delivering. In best case, this will be a list of features/behaviors your program will possess.
  • Provide a timetable for the project, including milestones (i.e. what features will be working by when).
  • Is this a rewrite/upgrade of existing software or is it a “from scratch” project.
  • Who is the mentor for your project? Ideally, your mentor will be one of the current gEDA developers, or will be a professor or professional EE familiar with the gEDA project. If you don't know who should mentor your project, then we can help choose somebody for you based upon the project you have chosen.

Project Integration

It is important for us to understand how your project will fit into the rest of gEDA. To help us understand this, also include the following information:

  • Which components of gEDA will be affected and require code changes? Examples are “only PCB” or “libgeda, gnetlist, gschem, and PCB”.
  • Are any new dependencies required over the existing ones? If so, what are they? Are the new dependencies widely ported? (Note that certain gEDA developers frown on new dependencies, so be prepared to thoughtfully defend your choice.)
  • Will these changes force a change in any existing work flows that users may currently be employing?
  • Will your project enable a new work flow or a new feature which has hitherto been lacking in the gEDA Suite?

Student Information

Tell us a little about yourself in your application.

  • What programming experience do you have? Please list languages you have used, classwork you have completed, and projects you have completed.
  • What experience do you have with source control systems like CVS and subversion?
  • What experience do you have with software development in a collaborative environment? In particular, if you have worked on open-source projects before, please list some projects to which you have contributed patches.
  • What experience do you have with electronics CAD tools in general, and gEDA in particular?
  • What electronics experience do you have? Please list designs you have completed, courses you have taken, and any electronics-oriented work experience you may have.
  • Are you familiar with the existing codebase for any of the gEDA tools? If so, which one?
  • Do you have a personal web page or a blog which you would like to share with the gEDA developers?
  • Anything else which may be relevant to this project?

Suggested Projects

The list of suggested projects is available here


Here is a list of mentors for the gEDA Project's GSoC. Please feel free to contact us with any questions you may have.

  • Dan McMahill ( Primary GSoC admin, PCB developer, gEDA/gaf developer
  • Stuart Brorson ( - Backup GSoC admin, gEDA/gaf developer
  • DJ Delorie ( - PCB developer
  • Steve Williams ( - Icarus Verilog developer
  • Ales Hvezda ( - gEDA/gaf developer
gsoc2007.txt · Last modified: 2012/02/20 15:14 (external edit)