morrison writes "The 2008 Google Summer of Code is on. We have discussed this four-year-old tradition before (2005, 2006, 2007). Google will once again be hosting a program that gives computer science students a $4,500 stipend to work on open source software projects. Last year, Google funded over 900 students' projects in more than 90 countries. As noted in the program FAQ, this year they hope to do even more. The #gsoc IRC channel on Freenode is already buzzing with activity."
1 - Any complex app will likely have some memory leaks. The code has been very thoroughly examined and cleaned up for Firefox 3. 2 - Most "leaks" come from poorly written extensions/add-ons. Run without them and check out the difference. 3 - There is a feature in Firefox that you can easily turn off, that people mistake for a memory leak. Firefox keeps fully rendered versions of pages in memory, in addition to the standard cache on the hard disk. If you hit back, Firefox doesn't need to re-render the page. Browse a while, and Firefox will use up plenty of memory. If you don't like this behavior, then turn the feature off.
Why? For most users, having fast (and accurate!) back/forward is more useful than having Firefox allocate less RAM. The feature even automatically turns itself off [mozilla.org] if you don't have a lot of physical RAM.
Turning off bfcache might be useful for rudimentary leak detection, but a proper leak-detection tool [mozilla.org] is less likely to be confused by fragmentation, other caches, or the OS simply not reclaiming memory that the application has relinquished.
actually, that is not true. in fact, X allocates pixmaps for drawing to the screen most of what you're displaying in firefox - many of which are in subwindows of the main firefox application. X is allocating memory for the application, in other words. if not freed properly (due to, say, potential bugs in this person's X server) this can, in fact, cause memory to leak that lasts beyond the termination of the actual application (firefox).
they already have winter, spring, and fall. MS allows free (as in no cost, not five finger discount) downloads of all their programming/OS/Server software at my uni. (This is something MS "donated", they aren't getting paid for it).
It isn't about donating software. Software is cheap. Those same students can get free operating systems and development software that's non-Microsoft too. What Google is doing is donating the organizational skills to help students. They get to work on something that's larger than just a small personal project. They learn how to work within a larger team structure that may have established rules for code style, structure, documentation, etc. Most importantly, they are assigned a mentor who can help them navigate this new environment and help them to become better programmers. The financial reward isn't bad either. Microsoft isn't doing anything like that.
i'd expect the mentoring-of-the-mentors, the management of applications, the distribution of cash (remember how many different countries with the most weird laws they have to deal with !) would need quite a lot of work. of course, the details of the coding are in the hands of project leads, but i don't think anybody ever expects a different situation at that level:)
The effect on our project was really huge, not only did the students do some very [thousandparsec.net] cool [google.com] work [thousandparsec.net]. We now have the creditability to approach Universities and help get their students involved with our project.
I'm a Windows developer who's gradually moving to Linux and I use MD more and more as time passes,I believe it's an important strategic tool for helping programmers switch to Linux. It needs lots [monodevelop.com] of work, though.
I'd mentor someone myself for some of these tasks, if I were related to the project as anything more than "user":(
without it OSS in business still has a big FAIL stamped on it's forehead.
What you really mean to say is that, without this specific tool, you'd have to change some of your business processes in order to use different software. The funny thing is that it's a different tool for each person who makes this complaint.
It's perfectly possible to use FOSS to support running pretty much any business. The only real exception is where the business itself is to produce data in proprietary file formats - i.e. acting a
No way, man! Do you know how boring that would be to develop? What we really need is transparency and alpha channel blending effects. And skins! There is a serious dearth of quality skins for mplayer!
I successfully participated last summer working with Nmap. Leslie (from Google) and Fyodor were wonderful to work with, and I hope I can get in again this year!
I don't think we'd make it into GSoC, but if you are into Python and Glade you should checkout Gladex [launchpad.net]. We're even a Featured Project [launchpad.net] on Launchpad.net! Gladex isn't in the Ubuntu or Debian repositories yet, but we do have a PPA [launchpad.net] going of an alpha release. Alternatively, you can download [launchpad.net] the stable packages directly.
Gladex is a Python application which takes a.glade file created in the Glade User Interface Builder and generates code in Perl, Python, or Ruby. The generated code uses libglade to draw a GUI and is not raw pygtk code (support via a plugin is in development). Support for additional languages can be added through the plugin API.
Looks interesting, but one question that I couldn't find on the site: Why generate code at all?
I might be missing something, but libglade has a python wrapper (and probably Ruby/Perl too, I'm too lazy to check). You can connect signals and handle events, everything you can do with generated or self-written GTK+ code. Calling libglade in Python is about 4 LOC. Why would anyone need a generator for this?
Again, I'm not trolling here, just curious and both an avid GTK+ and Python user.
You can connect signals and handle events, everything you can do with generated or self-written GTK+ code.
The one very important thing you can do with generated code that you can't do with a 4-line call to libglade is customize the code. A library can't do everything custom code can do, though good libraries seem to cover 80-90% of the most common use cases. For many applications, the libraries do everything you need. For everything else, you'd like to generate the commonplace code from your glade design
I know from looking the last 2 years that the projects for both PSI and MythTV were accepted and started but never completed to a point where the maintainers put code into the full product.
Absolutely. My fellow SoC students and I participating with Nmap last year have lots of code in Nmap proper. And the years before that (Nmap has participated every year of the SoC) there were a whole lot of cool things added to Nmap proper from SoC work.
More importantly, are they going to work on anything actually *useful*, instead of sexy stupid stuff that is the 2008 equivalent of "skinning" mp3 players? Every time I heard about SoC participants, I noticed that a)it wasn't something really useful or important and b)the main development team was really lazy about integrating in the work the student had done.
A great example of where some SoC lovin' would be great: Netatalk *blows*. It doesn't handle sleeping clients that
I believe Firefox 3's implementations of resumable downloads and the APNG image format came from GSoC participants. The continued support of MathML in Firefox 3 may also be due in part to the work of a GSoC participant. We've also had a few not-so-successful GSoC projects.
quite a lot, actually. i've only followed the ones in projects i am interested in, and there hve been some very nice finished features (as well as some disappointing failures).
a quick estimate on things i paid attention to, some 3/4 to 4/5 of projects were completed succesfully. remaining either delivered less than promised or failed completely (student just disappearing...).
Quite a few FreeBSD SoC projects make it into the system or ports, or at least had some of their work help with it; a quick glance at the SoC wiki pages I see enhancements to libalias and ipfw (I think some of this eventually made it; we now have kernel NAT with ipfw), bsnmpd bridge monitoring, FUSE port, gvinum enhancements, GEOM storage virtualisation, Apple hardware support enhancements, and what became the name service caching daemon.
Other things may not have made it in, but were good research projects both for the project and for the students; FreeBSD now has a very functional port of OpenBSD's hardware sensors suite, though it wasn't accepted into base because of architectural concerns. gjournal started life as a SoC project, and while rejected it did help spur development of a new more functional one, and the student went on to produce gvirstor, the aforementioned GEOM storage virtualisation layer which *did* make it. The Linux KVM port got far enough to boot FreeBSD 7 as a guest and will hopefully continue development. I'm sure I've left lots out.
Just because a SoC project doesn't make it into a "product", doesn't mean that project wasn't a success. Even if it never produces something deployable, it's given a student some experience in development, it's given the project some interesting if not necessarily immediately useful code and it's helped lay groundwork for future development, even if it only does so by providing those concerned some experience.
This isn't limited to computer science students. From the FAQ: "Computer Science does not need to be your field of study in order to participate in the program." For example, my program of study is Music Technology, where we have lots of students working on audio-related software projects, and many which become contributions to open source. It's a graduate program, so we have lots of students who came from other disciplines in a previous life, many which were CS, but not all. One student last year wrote a
> This isn't limited to computer science students.
Quite true, but why do Google restrict participation to students?
The first goal listed on their SoC FAQ is:
``Get more open source code created and released for the benefit of all''
So why exclude professional developers who could crank out code?
I would dearly like to take a two-month sabbatical from work and concentrate solely on writing code. There are huge voids in the provision of free astronomical tools that could be addressed. But finances dictate othe
Even when you add the small winners together, Google still wins. Lot's of outstanding brainpower for dirt cheap.
You're right, but it's not only brainpower Googles getting. The publicity itself would be worth the money, with the headhunting opportunities a distant second.
BZFlag [bzflag.org] participated in the Google Summer of Code for the first time in 2007 [google.com]. Our participation was documented in this detailed article [bzflag.org] (Warning: 15 MB PDF).
Another higher-level summary was put together for a presentation and is available here [bzflag.org] (Warning: 5 MB PDF)
See the presentation for the quick introduction. I highly recommend the article to any students and projects/mentors that are seriously thinking about participating for the first time.
On the whole, it's a great opportunity for projects but you do have to put in a lot of time and effort. You have to have your act together. If you do, the students and the projects will both have a great time.
Actually, Google Highly Open Participation contest produced some excellent pieces of code that were all submitted by "high school" students. If I didn't know better I'd say they were professional developers.
Granted pretty much nobody in high school will write quality code (even if they honestly think they do, like I once did), the chance to get paid experience and a mentor to help you improve is fantastic.
Actually Nick Bishop who did SoC with Blender 2 years ago, and with Inkscape (I think?) last year, had pretty good code quality already as a high school student.
While you are correct about many people in high school, some can write high quality code, as shown in the Google Highly Open Participation contest. With the Drupal project, there is a 12 y/o who is too young even for GHOP who writes very good code.
Corsix -- GHOP Drupal grand prize winner
What should get precedence? (Score:2)
I personally hope Blender gets work.
Re:What should get precedence? (Score:4, Funny)
Parent
Re:What should get precedence? (Score:5, Funny)
Parent
Re:What should get precedence? (Score:4, Informative)
1 - Any complex app will likely have some memory leaks. The code has been very thoroughly examined and cleaned up for Firefox 3.
2 - Most "leaks" come from poorly written extensions/add-ons. Run without them and check out the difference.
3 - There is a feature in Firefox that you can easily turn off, that people mistake for a memory leak. Firefox keeps fully rendered versions of pages in memory, in addition to the standard cache on the hard disk. If you hit back, Firefox doesn't need to re-render the page. Browse a while, and Firefox will use up plenty of memory. If you don't like this behavior, then turn the feature off.
Parent
Re: (Score:3, Insightful)
Turning off bfcache might be useful for rudimentary leak detection, but a proper leak-detection tool [mozilla.org] is less likely to be confused by fragmentation, other caches, or the OS simply not reclaiming memory that the application has relinquished.
Re: (Score:2)
People keep saying they want Firefox small and fast, and now you're complaining about modularity?
Re: (Score:3, Informative)
Re:What should get precedence? (Score:5, Funny)
Parent
Re: (Score:3, Insightful)
Re:What should get precedence? (Score:5, Insightful)
Parent
Re: (Score:2)
of course, the details of the coding are in the hands of project leads, but i don't think anybody ever expects a different situation at that level
Re: (Score:3, Funny)
Regarding the Obama ad served on this page: "It's a cookbook!!!"
Re:What should get precedence? (Score:5, Informative)
Thousand Parsec [thousandparsec.net] (a game framework for turn based strategy games) was one of the mentor organisations last year [google.com].
The effect on our project was really huge, not only did the students do some very [thousandparsec.net] cool [google.com] work [thousandparsec.net]. We now have the creditability to approach Universities and help get their students involved with our project.
We already have one student working on Thousand Parsec as part of a high school internship [ohloh.net] and two students from the University of South Australia [unisa.edu.au] working on a Java MIDP client.
Thanks a huge amount to Google and the Summer of Code team, hopefully we can get in again this year and have even more fun!
Parent
MonoDevelop (Score:2)
I'd mentor someone myself for some of these tasks, if I were related to the project as anything more than "user"
YAML c++ library (Score:2)
4th year in a row? (Score:5, Funny)
OpenMoko, coreboot, and ATI video drivers (Score:2, Insightful)
Too bad I get paid too much and actually have a real job. I'm being serious, it would be awesome to do a summer of code.
Re:OpenMoko, coreboot, and ATI video drivers (Score:5, Insightful)
Parent
Metascore sure needs developers (Score:2, Interesting)
http://sourceforge.net/projects/metascore/ [sourceforge.net]
write a decent reporting tool (Score:2, Insightful)
without it OSS in business still has a big FAIL stamped on it's forehead.
Re: (Score:2)
What you really mean to say is that, without this specific tool, you'd have to change some of your business processes in order to use different software. The funny thing is that it's a different tool for each person who makes this complaint.
It's perfectly possible to use FOSS to support running pretty much any business. The only real exception is where the business itself is to produce data in proprietary file formats - i.e. acting a
Re: (Score:2)
reporting sevrices provides a really good tool for this, and OSS has no answer to it. it'd be nice if there was one.
Re: (Score:3, Funny)
Re: (Score:2)
My hope... (Score:4, Interesting)
Re: (Score:2)
Awesome (Score:4, Interesting)
Great job, Google!
Check out Gladex (Score:5, Interesting)
Gladex is a Python application which takes a
Re:Check out Gladex (Score:4, Interesting)
I might be missing something, but libglade has a python wrapper (and probably Ruby/Perl too, I'm too lazy to check). You can connect signals and handle events, everything you can do with generated or self-written GTK+ code. Calling libglade in Python is about 4 LOC. Why would anyone need a generator for this?
Again, I'm not trolling here, just curious and both an avid GTK+ and Python user.
Parent
Re: (Score:3, Informative)
The one very important thing you can do with generated code that you can't do with a 4-line call to libglade is customize the code. A library can't do everything custom code can do, though good libraries seem to cover 80-90% of the most common use cases. For many applications, the libraries do everything you need. For everything else, you'd like to generate the commonplace code from your glade design
Have ANY projects been completed and integrated? (Score:5, Interesting)
Are there ANY success stories?
Re:Have ANY projects been completed and integrated (Score:5, Informative)
Absolutely. My fellow SoC students and I participating with Nmap last year have lots of code in Nmap proper. And the years before that (Nmap has participated every year of the SoC) there were a whole lot of cool things added to Nmap proper from SoC work.
Parent
Have ANY projects actually been useful? (Score:3, Interesting)
MythTV? You're joking, right?
More importantly, are they going to work on anything actually *useful*, instead of sexy stupid stuff that is the 2008 equivalent of "skinning" mp3 players? Every time I heard about SoC participants, I noticed that a)it wasn't something really useful or important and b)the main development team was really lazy about integrating in the work the student had done.
A great example of where some SoC lovin' would be great: Netatalk *blows*. It doesn't handle sleeping clients that
Re: (Score:2)
Re: (Score:3, Informative)
Re: (Score:2)
Re: (Score:2)
i've only followed the ones in projects i am interested in, and there hve been some very nice finished features (as well as some disappointing failures).
a quick estimate on things i paid attention to, some 3/4 to 4/5 of projects were completed succesfully. remaining either delivered less than promised or failed completely (student just disappearing...).
Re:Have ANY projects been completed and integrated (Score:4, Informative)
Other things may not have made it in, but were good research projects both for the project and for the students; FreeBSD now has a very functional port of OpenBSD's hardware sensors suite, though it wasn't accepted into base because of architectural concerns. gjournal started life as a SoC project, and while rejected it did help spur development of a new more functional one, and the student went on to produce gvirstor, the aforementioned GEOM storage virtualisation layer which *did* make it. The Linux KVM port got far enough to boot FreeBSD 7 as a guest and will hopefully continue development. I'm sure I've left lots out.
Just because a SoC project doesn't make it into a "product", doesn't mean that project wasn't a success. Even if it never produces something deployable, it's given a student some experience in development, it's given the project some interesting if not necessarily immediately useful code and it's helped lay groundwork for future development, even if it only does so by providing those concerned some experience.
Parent
t-shirts (Score:2)
computer science students? (Score:2)
For example, my program of study is Music Technology, where we have lots of students working on audio-related software projects, and many which become contributions to open source. It's a graduate program, so we have lots of students who came from other disciplines in a previous life, many which were CS, but not all. One student last year wrote a
Re: (Score:3, Insightful)
Quite true, but why do Google restrict participation to students?
The first goal listed on their SoC FAQ is:
``Get more open source code created and released for the benefit of all''
So why exclude professional developers who could crank out code?
I would dearly like to take a two-month sabbatical from work and
concentrate solely on writing code. There are huge voids in the
provision of free astronomical tools that could be addressed. But
finances dictate othe
Re: (Score:3, Interesting)
Some people will bitch about anything and everything I guess.
Small Winner and Big Winner (Score:2)
Intern = small winner
Even when you add the small winners together, Google still wins. Lot's of outstanding brainpower for dirt cheap.
I guess everyone wins if the interns like the cash and see it as a resume builder, right?
Re:Small Winner and Big Winner (Score:4, Insightful)
Parent
M$ could do the same (Score:2)
They will just support their own 'open source' definition.
Quick introduction for those thinking of applying (Score:3, Informative)
BZFlag [bzflag.org] participated in the Google Summer of Code for the first time in 2007 [google.com]. Our participation was documented in this detailed article [bzflag.org] (Warning: 15 MB PDF).
Another higher-level summary was put together for a presentation and is available here [bzflag.org] (Warning: 5 MB PDF)
See the presentation for the quick introduction. I highly recommend the article to any students and projects/mentors that are seriously thinking about participating for the first time.
On the whole, it's a great opportunity for projects but you do have to put in a lot of time and effort. You have to have your act together. If you do, the students and the projects will both have a great time.
Re:Kids have it lucky these days (Score:5, Interesting)
Parent
Re: (Score:3, Informative)
Actually Nick Bishop who did SoC with Blender 2 years ago, and with Inkscape (I think?) last year, had pretty good code quality already as a high school student.
LetterRip
Re: (Score:2, Interesting)
Re: (Score:2)