The numbers referred to for the other projects are 'unique' trunk/mainline commits only. Per that same measure, KDE sits at a little over 125,000 commits. Raw commits to all branches is vastly different for everyone.
Thought I'd share a basic summary of our student's projects for this year that are working on BRL-CAD. We accepted five students.
One student is working on a new GUI. Make BRL-CAD's graphical interface suck less and be more awesome. This is a major project that will take a long time, but GSoC has been helping us get there in a big way.
Another is implementing support for new primitives, sweeps and solids of revolution, complete with ray-tracing support. That modeling flexibility greatly increases the complexity of shapes that can be easily represented and more efficiently modeled.
Yet another is working on constraints and parametric equation support. This will let modelers define objects that can more easily be articulated while still "keeping everything together". Model an object so that it's always be tangent to a surface, for example.
One fairly advanced project involves performing constructive solid geometry (CSG) operations on boundary representation objects. With this implemented, BRL-CAD can get away from it's present wireframe display and support interactive OpenGL shaded geometry.
The last student will be working on setting up a fantastic resource for the open source community, an on-line website dedicated to free (as in beer and freedom) "open source" solid geometry models. Unlike many of the existing "free" sites, this repository will specifically focus on relatively unrestricted reuse ala OSI / FSF criteria and will use BRL-CAD tools on the back-end to provide automatic file format conversions, renderings, and more.
GSoC really has shown to be a fantastic opportunity for both open source communities and students, getting smart motivated passionate people working together on improving open source software and growing those communities. The program has an impressive ability to motivate and organize open source groups, helping them "get their act together" in many respects. While it's highly competitive with many organizations and students that will get left out, it's no more so than most graduate programs. There are similar short-term rewards and even greater long-term potential. To top it off, even if you don't "get in", you can still contribute! Some of our best new developers were students that were rejected in a previous year but then became involved and were better prepared next year.
Major kudos to Google for continuing to run the Summer of Code despite the hard economic times where most of silicon valley is cutting way back. Those 1000 students and 150+ open source communities represent more than a 5 million dollar investment this summer, which is not petty cash or an insignificant investment for *any* organization. The raw horsepower of the program itself (roughly and easily) represents more than 400 years of development "staff-years" going into open source software just over this summer with much more coming from those that stay involved with the open source communities and continue to contribute. Very cool.
It's a great symbiotic relationship. Google gets major attention, which is of course very important to their business model. The open source orgs get passionate and motivated developers, many that stay long after GSoC. The students get the experience of a lifetime, an introduction into a life-long relationship with open source and their ability to directly make a difference.
+1 Amen
At best the information was perhaps marked Confidential/FOUO and obviously not approved for public release, but that's a far cry from a Classified information leak. More likely, the information is public release information already available that a defense contractor happened to have.
Clark told WPXI that he doesn't know how sensitive this information
So it's a completely uninformed guess as to the sensitivity of the information being made into an issue.
That reminds me of a couple detailed rendered images I posted up when our computer-aided design software, BRL-CAD, was first released as open source. I'd provided several fantastic renderings of a few tanks that are all already publicly available information with absolutely no sensitivities to them whatsoever. That same day, though, I ended up pulling the images due to completely uninformed assertions by people in the community that the images were sensitive. It's just not the sort of data that many people see in their day-to-day musings, but I wasn't about to have some common Joe make a fear-mongering newswire issue that might supplant the headliner announcement that BRL-CAD was released as open source.
Cheers!
Sean
http://bzflag.org/
There are plenty of servers rated "PG", "PG-13", and even "G" suitable for children of all ages. The servers for kids tend to be very heavily monitored with strict language and behavior rules.
There's no claim that it is a titanic presence, but GSoC isn't a one-off payment or investment of effort either. Unlike most of the things you're comparing to, these open source projects aren't going away, already have a well-established presence with an active community, and the investment does make a positive impact. Also, GSoC is an annual program that's been going on for four years now and you're comparing to multiple year efforts.
America's Army cost roughly $6M-8M over 3 years of development which, at least at government contracting rates with overhead, equates to a ballpark of about 10-15 staff-years effort per year with roughly half that going to actual software development expense. The fact that Google is even close to that number and is specifically funding just developers and their open source projects is VERY commendable. The only "downside" from a product perspective is that the investment is spread out over multiple projects instead of a single product so development timelines are longer. But big freaking deal. It's free money for those projects that is put to very good use, helps students get into open source software development, and infuses those communities with new ideas and new developers.
To top that off, those 6 gaming projects are in a pool of about 175 other projects. That quickly becomes a hell of a lot more than petty-cash, especially as the program continues year after year and has grown 10-20% ever year.
Google is already a direct investor in games by funding open source gaming projects in the Google Summer of Code. Those participating this year included BZFlag, Battle for Wesnoth, Second Life (Linden Labs), Thousand Parsec, WorldForge, and ScummVM.
That roughly amounts to Google directly funding about 8 staff-years of development effort into open source gaming this year. Pretty damn cool if you ask me.
It'd be interesting to see the bandwidth statistics for the annual ACM SIGGRAPH computer graphics conference. With tens of thousands of visitors and thousands of full-conference attendees (a huge portion of which are on their laptops all week), I've yet to see a SIGGRAPH conference that didn't bring a convention center's networking to its knees (as well as most surrounding hotel networks). Of course, the per-person bandwidth is relatively low with so many users, but it would be interesting to see the statistics throughout the week regardless.
Especially for such a massive conference that is accustomed to the sustained high-tech audio/video load and with organizers that try to anticipate the high-usage (and have a corresponding budget to prepare), I suspect that there are considerably more bits transferred during SIGGRAPH than most any other conference through sheer size alone.
Find and join the closest local rowing club. You might be surprised to find that there is one pretty close to you even if you live far from a major body of water -- it doesn't take much.
Crew is one of the most intense athletic sports that activates pretty much every muscle on your body. You will learn a new level of pain and suffering while you push your VO2 max to new heights and you'll love it. The aerobic/anaerobic demands and technical complexities of rowing seriously challenge both mind and body.
It's also curiously one of the most GEEK-laden athletic sport activities anywhere. Most of an 8-man boat will be introverts just like yourself, most usually highly educated, and most highly obsessive-compulsive on technical proficiency. Rowing is also in the minority of sports where you can be competitive well into old age given how much a factor experience plays -- e.g., a 50 year old rower with 20 years experience can often wipe the floor against a 24 year old that has only a couple years experience.
That's kind of one of the things that Tcl was designed for. You can easily embed an interpreter in your application and then your data is stored as a tcl file that can be parsed by the interpreter. Each line in the file would be one of your access points with a command that hooks your data into and out of your program.
Very simple, more than adequate performance for your data, readily hooked into pretty much any exiting code/language, with an easily extended "standard" file format. Love or hate the language itself, it's one of the things it does rather well as the "tool command language".
Kudos to the few mentioned that will get some extra attention from this, but it's worth noting that the coverage doesn't represent even 2% of the projects that will be going on. I'd even go so far to say as many of those listed aren't even some of the most impressive or realistic, just one person's sampling of a few they know about.
Captain obvious points out that highlighting even just one project for half of the participating orgs would be about 88 projects and would still represent less than 8%. There's also no guarantee that the student will be successful on their project. About one in five students failed last year, so nothing is guaranteed regardless.
My point? There is a LOT of cool stuff being worked on. Check the projects out for yourself at http://code.google.com/soc/2008/ They're all listed. Show your support, get involved, help them succeed if you really care.
It's becoming increasingly more competitive for organizations to become accepted as the program continues to evolve, but any established project with a vibrant user community has the potential to get accepted. Once accepted, Google basically provides an incentive for students to become involved with a project's development by seeding them with a summer stipend. It's a little more involved than that, but that's the gist.
This is the first year BRL-CAD gets to participate and I can already say it's looking to be a lot of fun. It forces a project to organize, coordinate, market, and communicate more. It's a lot of work but well worth it... and very exciting to see the increase in developer interest!
Given this is an open source award, one TLA immediately comes to mind: ESR.
I nominated Eric S. Raymond for his outreach and community efforts in making open source a well-defined, understood, and established. ESR has been a prominent voice and force in the open source movement, he co-founded the Open Source Initiative, helped with the release of the Mozilla code as open source, and continues to contribute to various open source projects directly including X11, Battle for Wesnoth, Emacs, Fetchmail, Freeciv, and more.
BRL-CAD is delighted to be participating in the Google Summer of Code this year for the first time. Be sure to check out our ideas list and either stop by the #brlcad IRC channel on Freenode or subscribe to our developer's mailing list to get involved early.
As many know, computer-aided design (CAD) is one of the areas most lacking attention in open source. BRL-CAD has a solid foundation and considerable 25-year development history with more than 450 person-years development effort invested yet we are still wholesomely lacking in the usability and user-interface department. Maybe some of you can help us fix that. We're interested in many other ideas as well. Hope to see you apply!
Another higher-level summary was put together for a presentation and is available here (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.
About a decade ago now, I cancelled my landline service when the first dual-band cell phones came out. Being in the Baltimore-Washington Metropolitan Area, coverage was pretty decent although there were pockets of poor signal strength. Overall, though, it was more than good enough for my purposes 99% of the time even given how mobile I am, traveling around to conferences around the country. I did have a a few arguments with some businesses a decade ago where they couldn't comprehend how someone would not have a "home phone" and that I only carried a cell phone. I argued with my neighborhood pizza place that recognized the phone prefix as not being a "home phone" -- the prefix was a dead give-away as a cell phone at the time (they wouldn't take orders from cell phones due to prank cell calls). Even that and arguments with my bank, though, were resolved easily enough once I convinced them that I was absolutely serious.
My reasoning for dropping the landline was simple. If I want to talk to someone, it makes sense to call a *person* and not a *location*. It makes no sense to me to call a location when you're looking for a person unless you know you can't call them directly or you are absolutely sure where they are at. So by only having a cell phone, my friends and family could call me and know that, if I answered, they would be talking to me. If I didn't answer, I was either not available or simply not interested in talking to them at that time. Even with only a cell phone, the phone is primarily for *my* convenience, not the convenience of others (and I expect no differently of others unless it's a business). I find it absurd that some people feel compelled to answer their phone when it inconveniences them.
The last point to share was that the phone was a good one (and damn expensive). A lot of my friends in the same area had utterly *horrible* reception primarily because they bought crap phones or even accepted the "free" ones that were comp'd with the service. I think it's still just as true today and a reason why a lot of people haven't yet converted or don't like dealing with cell phones. You get what you pay for and too many people pay more attention to the short term up-front cost than the long term maintenance and reliability. Get the high-end phone.
Save yourself the money on the landline. Buy the best cell phone you can find. Spend more quality time with them in person.
FWIW, the telemarketing calls stopped almost instantly. Took five years before I got a single telemarketer call and by then I knew exactly who gave out my number (Comcast) and they got an earful in return. None since.
We've worked with several universities over the years on the BZFlag project, an on-line multiplayer networked tank combat game, where the game is often used to teach artificial intelligence computer science course concepts. We've also had several graduate students use BZFlag in their research as the primary subject material, leading to actual peer-reviewed scientific journal publications (ACM and others) as well as masters and PhD thesis papers. The game of course already provides the simulation framework itself, 2D and 3D environments, a graphical client that allows for interactive or unattended control, logging facilities, an established communications protocol, an extensive active user community (i.e. guinea pig "testers"), and various means of observing and interacting with others.
We were rather suspicious when a bunch of students all started showing up in our IRC channel a few years ago asking (in Spanish) for help compiling the game all of the sudden. We get players from all over the world asking for help in all sorts of languages and are pretty accustomed to it, but there was clearly something going on at the rate kids were showing up. Fortunately, several of our core members are fluent in Spanish and we quickly found out that they came from a particular university down in South America where the instructor had given them an assignment that used BZFlag as their simulation framework. Over the years, we had others from other universities approach our devs with similar intentions -- sometimes initiated by the professors, sometimes successfully initiated or sales-pitched by their teaching assistants.
One of the most successful academic uses, which has been running and improving for several years now, has been the BZRC - BZFlag Remote Control project at Brigham Young University where the TAs set up an entire framework that simplified the means by which the students controlled their tanks. Their framework was instantly more flexible and better than what we already had in BZFlag to the extent that their project was eventually rolled back into the game. For the students, it's a win because they're given a solid framework that they could immediately set up to work on their specific academic tasks; for us, it's been a win because of the code that has been rolled back into the game and the sheer pride of having our work used in an acadmic context.
The academic angle has been so compelling that it was actually a major factor in BZFlag being accepted into the 2007 Google Summer of Code. We were able to demonstrate BZFlag's impact potential and usefulness as a programmable simulation framework for teaching various CS concepts (AI, networking, user interface design, etc), which in-turn gave us the opportunity to have a rather gifted student work on improving our programmable bot interface throughout the summer. The student successfully converted the 2D Java-based Robocode API to our 3D C++-based simulation environment adding in hooks for other programming languages in the process. We're next looking to host a series of open AI programming tank competitions where people create BZFlag bots that will compete against others , with GSoC-funded cash prizes. Exciting stuff!
There is at least one OSI-approved free license that is based on contract law instead of upon copyright law: the NASA Open Source Agreement (NOSA). The terms in the agreement do not require copyright (though that certainly strengthens the agreement enforceability) since the U.S. Government cannot claim copyright on original works within the U.S. per U.S. law, though they can be claimed internationally. Copyright in the U.S. can generally only be acquired through copyright assignment (e.g., from a contractor) so having an Open Source agreement that does not rely upon copyright is crucial for many government-owned codes.
The NOSA was tentatively considered for BRL-CAD and was the prevailing option for a while, though BRL-CAD ultimately ended up under the LGPL and BSD license (each for different parts of the package). That consideration was entirely due to copyright issues with the (large) codebase, though copyright was ultimately acquired (through assignment) allowing for the adoption of more familiar Open Source licenses.
Talk to their developers. Most projects would love to have someone^W anyone working on documentation. Talking to them should hopefully give you an indication of a) what documentation they think would be useful, b) their willingness to accept any documentation that you write, and c) whether any such materials already exist that you could start from.
As a starting point, there are a few categories and types of user documentation that I believe all projects should have if they have any semblance of a community following:
README - Essential overview documentation, for new users that download a source and/or binary distribution
INSTALL - Instructions on how to install a source and/or binary distribution
AUTHORS - A historical reference of who worked on what and when (often requires extensive research for larger projects)
HACKING - Contributor documentation, how to make contributions to the project, conventions established, submission requirements
COPYING - Legal documentation, hopefully something more than the license(s), an explanation of the legal requirements
Manual Pages
Commands - There should be a overview and usage page for every command installed (sections 1, 6, & 8)
Libraries - There should be a summary overview page for every library installed (section 3)
File formats - If the app(s) have their own file formats, each format should be a page that describes the format (section 5)
Overview - Goes into more depth than the README information about the project and functionality provided
Tutorial(s) - At least one tutorial showing how to use the software
Documentation is a particular aspect of a project that is particularly well suited to a BSD documentation license (a generalized version of the FreeBSD Documentation License) in terms of allowing completely unhindered distribution of content under very simple terms specific to documentation. Documentation benefits your user community no matter what form it exists in, commercialized or otherwise, yet also seems to be one of the hardest for open source projects to generate so making it as easy as possible to produce, modify, and redistribute (legally) is generally a very good thing.
For several large projects I work with where there are lots of developers, consistency of the source code is considerably more important than any particular developer's opinion on what the correct behavior of tabs and spaces are. These are projects where it is pretty much expected that there are or will at least eventually be developers that use both vi and emacs with zealotry as well a myriad of IDE environments. For at least vi and emacs, all source files utilize a local variables block that is understood by both editors in order to encourage a project-defined convention with consistent indentation:
/* * Local Variables: * mode: C * tab-width: 8 * c-basic-offset: 4 * indent-tabs-mode: t * End: * ex: shiftwidth=4 tabstop=8 */
With that comment block at the very end of all source files (whether they be C, C++, Tcl, Perl, Sh, SGML, etc), we do quite well in maintaining order and minimizing the indentation dispute. For the IDE environments, it at least gives them clear documentation on how to configure their IDE indentation preferences to match in every file. Maintaining a tabwidth/tabstop of 8 ensures consistent source display in most environments, including text printing and console display, leaving projects to simply define what offset/shiftwidth level they want for indentation. It can similarly still be tweaked for the projects that seem to insist on no tabs or want to match some IDE default religion.
The numbers referred to for the other projects are 'unique' trunk/mainline commits only. Per that same measure, KDE sits at a little over 125,000 commits. Raw commits to all branches is vastly different for everyone.
BRL-CAD is about to cross 35,000 commits. Emacs has more than 85,000. GCC has about 12,000 unique over 150,000 commits.
That rounds out the three oldest continuously developed repositories with preserved revision history.
Thought I'd share a basic summary of our student's projects for this year that are working on BRL-CAD. We accepted five students.
GSoC really has shown to be a fantastic opportunity for both open source communities and students, getting smart motivated passionate people working together on improving open source software and growing those communities. The program has an impressive ability to motivate and organize open source groups, helping them "get their act together" in many respects. While it's highly competitive with many organizations and students that will get left out, it's no more so than most graduate programs. There are similar short-term rewards and even greater long-term potential. To top it off, even if you don't "get in", you can still contribute! Some of our best new developers were students that were rejected in a previous year but then became involved and were better prepared next year.
Major kudos to Google for continuing to run the Summer of Code despite the hard economic times where most of silicon valley is cutting way back. Those 1000 students and 150+ open source communities represent more than a 5 million dollar investment this summer, which is not petty cash or an insignificant investment for *any* organization. The raw horsepower of the program itself (roughly and easily) represents more than 400 years of development "staff-years" going into open source software just over this summer with much more coming from those that stay involved with the open source communities and continue to contribute. Very cool.
It's a great symbiotic relationship. Google gets major attention, which is of course very important to their business model. The open source orgs get passionate and motivated developers, many that stay long after GSoC. The students get the experience of a lifetime, an introduction into a life-long relationship with open source and their ability to directly make a difference.
Clark told WPXI that he doesn't know how sensitive this information
So it's a completely uninformed guess as to the sensitivity of the information being made into an issue. That reminds me of a couple detailed rendered images I posted up when our computer-aided design software, BRL-CAD, was first released as open source. I'd provided several fantastic renderings of a few tanks that are all already publicly available information with absolutely no sensitivities to them whatsoever. That same day, though, I ended up pulling the images due to completely uninformed assertions by people in the community that the images were sensitive. It's just not the sort of data that many people see in their day-to-day musings, but I wasn't about to have some common Joe make a fear-mongering newswire issue that might supplant the headliner announcement that BRL-CAD was released as open source. Cheers! Sean
http://bzflag.org/ There are plenty of servers rated "PG", "PG-13", and even "G" suitable for children of all ages. The servers for kids tend to be very heavily monitored with strict language and behavior rules.
We mentioned the asteroid last on Monday, when it was only at a 99.8 percent chance of colliding with Earth.
Mm.. so I suppose that means it now has a 0.0 percent chance of colliding with the Earth. Or is that number now 'NaN' since it doesn't exist anymore?
The proof was in the pudding .. .. but then I ate it.
*burp*
There's no claim that it is a titanic presence, but GSoC isn't a one-off payment or investment of effort either. Unlike most of the things you're comparing to, these open source projects aren't going away, already have a well-established presence with an active community, and the investment does make a positive impact. Also, GSoC is an annual program that's been going on for four years now and you're comparing to multiple year efforts.
America's Army cost roughly $6M-8M over 3 years of development which, at least at government contracting rates with overhead, equates to a ballpark of about 10-15 staff-years effort per year with roughly half that going to actual software development expense. The fact that Google is even close to that number and is specifically funding just developers and their open source projects is VERY commendable. The only "downside" from a product perspective is that the investment is spread out over multiple projects instead of a single product so development timelines are longer. But big freaking deal. It's free money for those projects that is put to very good use, helps students get into open source software development, and infuses those communities with new ideas and new developers.
To top that off, those 6 gaming projects are in a pool of about 175 other projects. That quickly becomes a hell of a lot more than petty-cash, especially as the program continues year after year and has grown 10-20% ever year.
Oops, wrong link! The write-up of BZFlag's participation is at http://my.bzflag.org/gsoc/bzflag_gsoc2007_post_mortem.pdf (15.5MB PDF) Since I'm tossing out links, this one is a simple summary of the program: http://my.bzflag.org/gsoc/GSoC2007_Overview.pdf (1.7MB PDF)
Google is already a direct investor in games by funding open source gaming projects in the Google Summer of Code. Those participating this year included BZFlag, Battle for Wesnoth, Second Life (Linden Labs), Thousand Parsec, WorldForge, and ScummVM.
That roughly amounts to Google directly funding about 8 staff-years of development effort into open source gaming this year. Pretty damn cool if you ask me.
You can see some of the results from BZFlag's participation last year at http://my.bzflag.org/gsoc/BZGSoC2007.pdf
It'd be interesting to see the bandwidth statistics for the annual ACM SIGGRAPH computer graphics conference. With tens of thousands of visitors and thousands of full-conference attendees (a huge portion of which are on their laptops all week), I've yet to see a SIGGRAPH conference that didn't bring a convention center's networking to its knees (as well as most surrounding hotel networks). Of course, the per-person bandwidth is relatively low with so many users, but it would be interesting to see the statistics throughout the week regardless.
Especially for such a massive conference that is accustomed to the sustained high-tech audio/video load and with organizers that try to anticipate the high-usage (and have a corresponding budget to prepare), I suspect that there are considerably more bits transferred during SIGGRAPH than most any other conference through sheer size alone.
Find and join the closest local rowing club. You might be surprised to find that there is one pretty close to you even if you live far from a major body of water -- it doesn't take much.
Crew is one of the most intense athletic sports that activates pretty much every muscle on your body. You will learn a new level of pain and suffering while you push your VO2 max to new heights and you'll love it. The aerobic/anaerobic demands and technical complexities of rowing seriously challenge both mind and body.
It's also curiously one of the most GEEK-laden athletic sport activities anywhere. Most of an 8-man boat will be introverts just like yourself, most usually highly educated, and most highly obsessive-compulsive on technical proficiency. Rowing is also in the minority of sports where you can be competitive well into old age given how much a factor experience plays -- e.g., a 50 year old rower with 20 years experience can often wipe the floor against a 24 year old that has only a couple years experience.
"Athletes row, everyone else just plays games."
That's kind of one of the things that Tcl was designed for. You can easily embed an interpreter in your application and then your data is stored as a tcl file that can be parsed by the interpreter. Each line in the file would be one of your access points with a command that hooks your data into and out of your program.
Very simple, more than adequate performance for your data, readily hooked into pretty much any exiting code/language, with an easily extended "standard" file format. Love or hate the language itself, it's one of the things it does rather well as the "tool command language".
Kudos to the few mentioned that will get some extra attention from this, but it's worth noting that the coverage doesn't represent even 2% of the projects that will be going on. I'd even go so far to say as many of those listed aren't even some of the most impressive or realistic, just one person's sampling of a few they know about.
Captain obvious points out that highlighting even just one project for half of the participating orgs would be about 88 projects and would still represent less than 8%. There's also no guarantee that the student will be successful on their project. About one in five students failed last year, so nothing is guaranteed regardless.
My point? There is a LOT of cool stuff being worked on. Check the projects out for yourself at http://code.google.com/soc/2008/
They're all listed. Show your support, get involved, help them succeed if you really care.
Get accepted into the Google Summer of Code!
... and very exciting to see the increase in developer interest!
It's becoming increasingly more competitive for organizations to become accepted as the program continues to evolve, but any established project with a vibrant user community has the potential to get accepted. Once accepted, Google basically provides an incentive for students to become involved with a project's development by seeding them with a summer stipend. It's a little more involved than that, but that's the gist.
This is the first year BRL-CAD gets to participate and I can already say it's looking to be a lot of fun. It forces a project to organize, coordinate, market, and communicate more. It's a lot of work but well worth it
Given this is an open source award, one TLA immediately comes to mind: ESR.
I nominated Eric S. Raymond for his outreach and community efforts in making open source a well-defined, understood, and established. ESR has been a prominent voice and force in the open source movement, he co-founded the Open Source Initiative, helped with the release of the Mozilla code as open source, and continues to contribute to various open source projects directly including X11, Battle for Wesnoth, Emacs, Fetchmail, Freeciv, and more.
BRL-CAD is delighted to be participating in the Google Summer of Code this year for the first time. Be sure to check out our ideas list and either stop by the #brlcad IRC channel on Freenode or subscribe to our developer's mailing list to get involved early.
As many know, computer-aided design (CAD) is one of the areas most lacking attention in open source. BRL-CAD has a solid foundation and considerable 25-year development history with more than 450 person-years development effort invested yet we are still wholesomely lacking in the usability and user-interface department. Maybe some of you can help us fix that. We're interested in many other ideas as well. Hope to see you apply!
BZFlag participated in the Google Summer of Code for the first time in 2007. Our participation was documented in this detailed article (Warning: 15 MB PDF).
Another higher-level summary was put together for a presentation and is available here (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.
About a decade ago now, I cancelled my landline service when the first dual-band cell phones came out. Being in the Baltimore-Washington Metropolitan Area, coverage was pretty decent although there were pockets of poor signal strength. Overall, though, it was more than good enough for my purposes 99% of the time even given how mobile I am, traveling around to conferences around the country. I did have a a few arguments with some businesses a decade ago where they couldn't comprehend how someone would not have a "home phone" and that I only carried a cell phone. I argued with my neighborhood pizza place that recognized the phone prefix as not being a "home phone" -- the prefix was a dead give-away as a cell phone at the time (they wouldn't take orders from cell phones due to prank cell calls). Even that and arguments with my bank, though, were resolved easily enough once I convinced them that I was absolutely serious.
My reasoning for dropping the landline was simple. If I want to talk to someone, it makes sense to call a *person* and not a *location*. It makes no sense to me to call a location when you're looking for a person unless you know you can't call them directly or you are absolutely sure where they are at. So by only having a cell phone, my friends and family could call me and know that, if I answered, they would be talking to me. If I didn't answer, I was either not available or simply not interested in talking to them at that time. Even with only a cell phone, the phone is primarily for *my* convenience, not the convenience of others (and I expect no differently of others unless it's a business). I find it absurd that some people feel compelled to answer their phone when it inconveniences them.
The last point to share was that the phone was a good one (and damn expensive). A lot of my friends in the same area had utterly *horrible* reception primarily because they bought crap phones or even accepted the "free" ones that were comp'd with the service. I think it's still just as true today and a reason why a lot of people haven't yet converted or don't like dealing with cell phones. You get what you pay for and too many people pay more attention to the short term up-front cost than the long term maintenance and reliability. Get the high-end phone.
Save yourself the money on the landline. Buy the best cell phone you can find. Spend more quality time with them in person.
FWIW, the telemarketing calls stopped almost instantly. Took five years before I got a single telemarketer call and by then I knew exactly who gave out my number (Comcast) and they got an earful in return. None since.
Yes, I'm rather biased...but...
BZFlag is still a great on-line game.
It's a real-time strategy first-person shoot-em-up action game... kinda like playing chess .. with tanks .. in a slow motion FPS style.
We've worked with several universities over the years on the BZFlag project, an on-line multiplayer networked tank combat game, where the game is often used to teach artificial intelligence computer science course concepts. We've also had several graduate students use BZFlag in their research as the primary subject material, leading to actual peer-reviewed scientific journal publications (ACM and others) as well as masters and PhD thesis papers. The game of course already provides the simulation framework itself, 2D and 3D environments, a graphical client that allows for interactive or unattended control, logging facilities, an established communications protocol, an extensive active user community (i.e. guinea pig "testers"), and various means of observing and interacting with others.
We were rather suspicious when a bunch of students all started showing up in our IRC channel a few years ago asking (in Spanish) for help compiling the game all of the sudden. We get players from all over the world asking for help in all sorts of languages and are pretty accustomed to it, but there was clearly something going on at the rate kids were showing up. Fortunately, several of our core members are fluent in Spanish and we quickly found out that they came from a particular university down in South America where the instructor had given them an assignment that used BZFlag as their simulation framework. Over the years, we had others from other universities approach our devs with similar intentions -- sometimes initiated by the professors, sometimes successfully initiated or sales-pitched by their teaching assistants.
One of the most successful academic uses, which has been running and improving for several years now, has been the BZRC - BZFlag Remote Control project at Brigham Young University where the TAs set up an entire framework that simplified the means by which the students controlled their tanks. Their framework was instantly more flexible and better than what we already had in BZFlag to the extent that their project was eventually rolled back into the game. For the students, it's a win because they're given a solid framework that they could immediately set up to work on their specific academic tasks; for us, it's been a win because of the code that has been rolled back into the game and the sheer pride of having our work used in an acadmic context.
The academic angle has been so compelling that it was actually a major factor in BZFlag being accepted into the 2007 Google Summer of Code. We were able to demonstrate BZFlag's impact potential and usefulness as a programmable simulation framework for teaching various CS concepts (AI, networking, user interface design, etc), which in-turn gave us the opportunity to have a rather gifted student work on improving our programmable bot interface throughout the summer. The student successfully converted the 2D Java-based Robocode API to our 3D C++-based simulation environment adding in hooks for other programming languages in the process. We're next looking to host a series of open AI programming tank competitions where people create BZFlag bots that will compete against others , with GSoC-funded cash prizes. Exciting stuff!
There is at least one OSI-approved free license that is based on contract law instead of upon copyright law: the NASA Open Source Agreement (NOSA). The terms in the agreement do not require copyright (though that certainly strengthens the agreement enforceability) since the U.S. Government cannot claim copyright on original works within the U.S. per U.S. law, though they can be claimed internationally. Copyright in the U.S. can generally only be acquired through copyright assignment (e.g., from a contractor) so having an Open Source agreement that does not rely upon copyright is crucial for many government-owned codes.
The NOSA was tentatively considered for BRL-CAD and was the prevailing option for a while, though BRL-CAD ultimately ended up under the LGPL and BSD license (each for different parts of the package). That consideration was entirely due to copyright issues with the (large) codebase, though copyright was ultimately acquired (through assignment) allowing for the adoption of more familiar Open Source licenses.
Talk to their developers. Most projects would love to have someone^W anyone working on documentation. Talking to them should hopefully give you an indication of a) what documentation they think would be useful, b) their willingness to accept any documentation that you write, and c) whether any such materials already exist that you could start from.
As a starting point, there are a few categories and types of user documentation that I believe all projects should have if they have any semblance of a community following:
Documentation is a particular aspect of a project that is particularly well suited to a BSD documentation license (a generalized version of the FreeBSD Documentation License) in terms of allowing completely unhindered distribution of content under very simple terms specific to documentation. Documentation benefits your user community no matter what form it exists in, commercialized or otherwise, yet also seems to be one of the hardest for open source projects to generate so making it as easy as possible to produce, modify, and redistribute (legally) is generally a very good thing.
For several large projects I work with where there are lots of developers, consistency of the source code is considerably more important than any particular developer's opinion on what the correct behavior of tabs and spaces are. These are projects where it is pretty much expected that there are or will at least eventually be developers that use both vi and emacs with zealotry as well a myriad of IDE environments. For at least vi and emacs, all source files utilize a local variables block that is understood by both editors in order to encourage a project-defined convention with consistent indentation:
With that comment block at the very end of all source files (whether they be C, C++, Tcl, Perl, Sh, SGML, etc), we do quite well in maintaining order and minimizing the indentation dispute. For the IDE environments, it at least gives them clear documentation on how to configure their IDE indentation preferences to match in every file. Maintaining a tabwidth/tabstop of 8 ensures consistent source display in most environments, including text printing and console display, leaving projects to simply define what offset/shiftwidth level they want for indentation. It can similarly still be tweaked for the projects that seem to insist on no tabs or want to match some IDE default religion.