Slashdot Mirror


Good Ways To Join an Open Source Project?

Tathagata asks: "I'm a student, on my final year in a college in India, and I have been using GNU/Linux for quite sometime now. Though I'm from a Computer Science background, getting into a project that involves serious programming was not possible, as people (read teachers) run away if you utter the word 'Linux'. They are generally not bothered about mentoring someone on an exciting project, and they would suggest you to get settled with Visual Basic, .NET, — and would prefer a 24 hour solution when it comes to programming. So, my programming endeavors have remained limited to writing few lines of C/C++, or Java. For last few days, I've been googling, and trying to read how to join an existing Open Source project." What suggestions would you pass along to someone who is willing to join his first Open Source effort? Most of the things I've read suggest that a good place to start is by submitting patches, fixing bugs, becoming package maintainer — but most are overloaded with jargon like upstream/downstream, nightly builds, and so forth. Additionally, how does joining the mailing list, or the IRC channel help when you don't even understand the slang, not to mention the intricacies of the technical discussion? It 's quite an overwhelming world to step in. Could you suggest a road map, links to essential tools or a few projects, for people like me, who would want to improve their skills by contributing FOSS?"

209 of 282 comments (clear)

  1. Read the TODO list by Watson+Ladd · · Score: 5, Informative

    and do one of the items, test the patch, and submit it. Then repeat.

    --
    Inventions have long since reached their limit, and I see no hope for further development.-- Frontinus, 1st cent. AD
    1. Re:Read the TODO list by SQLGuru · · Score: 4, Insightful

      Mod parent to +5 (or +11, depending on how high your dial goes).

      The only thing left out was that joining the mailing list and discussion boards will help you learn the lingo fastest. The only way to learn how to talk like a 133t hax0r is to lurk among them for a while. Every group is going to have their own slang. There is no "master list". Your background in CS will help you piece things together (well, related to the CS stuff). A classic example? In X Windows, knowing that the server is your screen and the client is the processes (apps) isn't easy to figure out unless you hang around them long enough.

      But being a coder, like the parent post says, picking an item off of the TODO list and doing it will give you a good start. Pick an "easy" one. Read the code. Re-read the code. Make an attempt. Re-read the code. Redesign your solution to fit closer to how everything else works. Talk on the boards with people about how you have a mostly working solution. Then, you'll get a feel for their slang as they respond to something that you are pretty familar with.

      Layne

    2. Re:Read the TODO list by bfields · · Score: 4, Insightful

      That can be trickier than it'd seem at first. Sometimes stuff on the TODO list is straightforward. But sometimes the reason something's stuck on the TODO list is that people aren't really sure yet what exactly needs to be done. Without experience it may be difficult to sort out the doable stuff from the stuff that needs someone with a real breadth of knowledge about the project architecture, user requirements, etc. But, sure, ask around for advice about given projects, see what people tell you.

    3. Re:Read the TODO list by Anonymous Coward · · Score: 5, Insightful

      I believe you and most people are missing what this guy is asking for. Patches, and talking to the developers is the general advice given, but there is far more to it than just that. In my experience which is very limited, I've noticed most projects all have their own way of doing things, naming conventions, rules, ways to get around problems..Almost to the point that before you can submit patches, you need to know how the whole project fits together, and have an understanding of a lot of the underlying work.

      This person I reckon is asking for links, advice on places to go to learn some of the common conventions used in open source, as they're usually quite different to closed source systems.

      For example you can assume a nightly build is what it says in the name, but there is more to it.. Such as what does get included, what doesn't.. If you've been working on something all day but it still doesn't work, do you commit it for the nightly build knowing that it'll break but may be useful for others to see what's going on? You probably wouldn't commit it if you knew it wouldn't work..Which really puts it down to only making small changes which you've checked work(to the best of your ability) then commit. There is definitely an area of uncertainty surrounding these things.

      There's naturally the case of feeling intimidated talking to people who have been working on the project for ages, and a fear surrounding asking what they could consider stupid questions. Nobody likes being laughed at with intent to hurt.

      I think he's really looking for an 'entry point'.. As well as material to read (and where to read it) so he can feel more confident talking the lingo, and being able to ask more sensible questions, without as much fear from asking stupid ones.

    4. Re:Read the TODO list by badboy_tw2002 · · Score: 3, Informative

      In that case its best to email the project owner or the dev list announcing your intentions. If the people who run it are cool they'll take a little time to sketch out what needs to be done. If not, they're probably jerks and you might do well to find a better project to donate your time to.

    5. Re:Read the TODO list by protomala · · Score: 1

      hat's how I started. When compiling some open-source projects found bugs, fixed, sent the fix. Later started to help out stratagus (named freecraft at the time) and improved my skills a bit. Now I'm working on Stargus (starcraft support for stratagus on the weekends). It's very fun!

    6. Re:Read the TODO list by bfields · · Score: 4, Insightful

      In that case its best to email the project owner or the dev list announcing your intentions.

      Yep, definitely.

      If the people who run it are cool they'll take a little time to sketch out what needs to be done. If not, they're probably jerks and you might do well to find a better project to donate your time to.

      It's not necessarily that simple. I've got plenty of projects that need doing where it's exactly producing that sketch that would be the hardest part. It might be a solid week of work for me to to get the project broken down to the point where it'd be reasonable for somebody unfamiliar with the project to get a good start on it. And even then it might come down to "try doing x, y, and z, and then get back to me with what you've done so far, and *then* we'll be able to decide whether this is actually the right approach or whether we need to scrap it all and start over differently."

      And it's painful for somebody new to have to do a ton of work like that maybe just to prove that we're barking up the wrong tree. At least when they're starting out, I'd rather have people work on something that'll be more immediately rewarding for them.... But, anyway, the developer should be able to help you find the right project. Just keep in mind that sometimes finding the right project isn't always easy, and they don't yet know whether you're someone they can count on to follow through, so there's probably only so much that you're going to get from them at first.

    7. Re:Read the TODO list by Spazmania · · Score: 1

      Exactly; you don't join or leave an open source project. There are no membership rolls. You just write code and if other people like your code, they use it.

      --
      Moderating "-1, Disagree" is simple censorship. Have the guts to post your opinion.
    8. Re:Read the TODO list by PitaBred · · Score: 1

      Looks interesting :) Just as an FYI, I read the front page of your project. Starcraft actually runs perfectly under Wine set to emulate Win2K actions in Ubuntu 7.04. I just double-clicked setup, and it installed and ran, everything as it's supposed to be. So, you can play Starcraft under Linux other than with your mod. But I'll definitely keep an eye on it.

    9. Re:Read the TODO list by zCyl · · Score: 2, Insightful

      Sometimes stuff on the TODO list is straightforward. But sometimes the reason something's stuck on the TODO list is that people aren't really sure yet what exactly needs to be done.

      For beginners to programming or just to a project, it may be wiser to start out fixing the more recent and less critical bugs. These are more likely to be straightforward, and are probably not done yet just because someone hasn't gotten around to it. After doing a few of these and becoming familiar with the code base, one can move up the chain to more difficult bugs.

      Regular developers will appreciate this contribution, because it will free up more of their time to focus on the bugs which require more experience with that particular project.

      Let me throw in one additional important point for the original question-asker: Be nice to people. Other developers will welcome you into the fold if in addition to your contributions you seem like a nice person. There are plenty of egos in the world, so leave yours at home and just contribute in a positive and friendly way.
    10. Re:Read the TODO list by Spy+Hunter · · Score: 1

      I'd add that it's important *you* find your patch useful. If you're writing a patch for someone else's problem just to "join the project", I don't think that's going to work well. You should be a user of the project first, then write a patch to scratch an itch that *you* have. Join the mailing list and submit the patch. For example, if you're a user of Firefox, I'm sure there's something that bugs you about it. Find the bug on bugzilla, then make the patch.

      --
      main(c,r){for(r=32;r;) printf(++c>31?c=!r--,"\n":c<r?" ":~c&r?" `":" #");}
    11. Re:Read the TODO list by belmolis · · Score: 1

      Actually, this is not necessarily true. There are some projects that solicit code from anyone and have mechanisms for dealing with that. There are other projects that want people to sign up and interact with the rest of the group in particular ways. There are also those that are in between. For example, Tcl is maintained by a self-perpetuating core team that has the decision-making power. Non-members can submit proposals and patches, and doing enough of this of high enough quality is the route to joining the core team, but you only actually get onto the core team by being invited.

      There are also a fair number of open source projects that are one or two person projects. They may be happy to receive bug reports, suggestions, and patches, but they aren't necessarily set up for significant contributions by others, and may not necessarily want them (if they enjoy coding and have their own vision for the project).

    12. Re:Read the TODO list by Mr.Ned · · Score: 3, Interesting

      Some projects - the one that comes first to mind is the Glasgow Haskell Compiler (ghc) - have fields in their bug trackers that rate the anticipated difficulty to fix a particular bug. That's a great help in identifying what's doable right away and what's not.

    13. Re:Read the TODO list by Tathgata · · Score: 3, Informative

      Thanks to all of you, for such valuable suggestions [half-way through reading].
      But YOU, really understood where I'm getting stuck!
      Now making the choice amongst so many inetresting projects is undoubtedly difficult, everything(well, almost) seems interesting. But my main query is how do you get the entire picture of the whole project and locate the needle hiding itself in the haystack just looking at the bug report.
      Sounds silly, but from a bug report to submiting patches - how do you do it?
      I'm eager to RTFineM and goolge is my friend - but any links would be highly appreciate and thanked.

    14. Re:Read the TODO list by geniusj · · Score: 1

      who cares?

    15. Re:Read the TODO list by flotationIsGroovy · · Score: 1
    16. Re:Read the TODO list by defy+god · · Score: 1

      i clicked on "3 replies beneath your current threshold" just to see if someone would comment on that. thanks for not failing me slashdot =)

      --
      hackers of the world unite!
    17. Re:Read the TODO list by some+guy+I+know · · Score: 1

      for the nth time, it's X Window not X Windows
      Actually, it's the "X Window System".
      --
      Those who sacrifice security to condemn liberty deserve to repeat history or something. - Benjamin Santayana
  2. try sourceforge... by froggero1 · · Score: 1

    there's plenty of positions for open source developers there...

    --
    ~/.sig: No such file or directory
    1. Re:try sourceforge... by froggero1 · · Score: 4, Insightful

      specifically, this link. You may need an account to view it, I don't know.

      --
      ~/.sig: No such file or directory
  3. you've already gotten good advise... by capsteve · · Score: 5, Informative

    i think the advise you've received so far is spot on. first pick a couple projects you're interested and have a vested interest (i.e. you actually use the software on a daily/semi-regular basis) and join the forums. i wouldn't worry about the slang right off the bat, most of that will come with time and participation. join the discussions with suggestions and help if you can provide it, or ask questions regarding configurations, installation, etc if you're a new comer.

    regarding posting in discussion groups:
    if your asking questions, be thorough in you description of problems you're experiencing, be ready to provide logs and details regarding your system and installation, and be courteous. nothing worse than a call for help on a forum: "i'n a new user, don't know what i'm doing, but i need help. and if you can't help me this software sucks!" i've seen many calls for help that go unanswered because of the issue listed above.

    if you are offering help and/or suggestions, be thorough in your answers, don't be insulting("RTFM newb!"), and give realistic options. i've seen responses that are overly terse in tone that makes the response seem like it's an annoyance or statements that have an air of arrogance that have turned users away from FOSS projects.

    the point of joining the discussion groups is to see if there is a fit for your skills. is the delevopment team in need of your abilities, or do they have too many contributors? is the process of contribution thru an individual or comittee? is the project in active development, or has it been obsfucated by another project? only way to answer some of these questions is to join and read the discussions. then you can make a better decision as to which project to join.

    figure out what you want to join first before deciding what you want to do with the project. if your commited to the project, theres a way to find your niche.

    --
    three can keep a secret, if two are dead - benjamin franklin
    1. Re:you've already gotten good advise... by drinkypoo · · Score: 2, Informative

      first pick a couple projects you're interested and have a vested interest (i.e. you actually use the software on a daily/semi-regular basis) and join the forums.

      I cannot agree with you enough. It is by far most sensible to start with a project you actually care about. Some of the first patches I ever submitted (not precisely the first but it's been a while) were for various Drupal modules. I made some mistakes, and some were not accepted, but most were and both I and the community got over the experience just fine :) But the point is that I was motivated to fix the problems because they affected me. Some are bugfixes and some feature enhancements, but all are patches I wrote that were accepted, and both fixed my problem and made me feel good.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    2. Re:you've already gotten good advise... by mightybaldking · · Score: 1

      "if you are offering help and/or suggestions, be thorough in your answers, don't be insulting("RTFM newb!"), and give realistic options. i've seen responses that are overly terse in tone that makes the response seem like it's an annoyance or statements that have an air of arrogance that have turned users away from FOSS projects." This attitude sickens me. The reason why I'm on your group/list/forum/whatever is because I've already spent an hour on the googles looking for documentation/howto's. Normally I'll find a howto that applies to releases that are several years old. My advice to anyone who really wants to help - WPT&MTFM (Write, Publish, Translate & Maintain)

    3. Re:you've already gotten good advise... by bmsleight · · Score: 3, Informative

      I could not agree more. I start asking question about a project I was using. Then I answered other questions in the forums, for other users, based upon the knowledge I picked up.

      Next I submitted a one line patch. [Heck at that point I could not even use diff]

      Then I wrote a manual. I worked out how to use diff, subscribed to the developer mailing lists. More patch, modules written by me.

      I am now one of the administrators of the project.

      From small acorns, big trees grow.

    4. Re:you've already gotten good advise... by Simon80 · · Score: 1

      I also agree completely with this advice. I can recall being very eager but clueless a few years ago, and the only way to fix it is to spend a lot of time reading mailing lists, source code, documentation (man pages may seem terse, but they can be very valuable, and you should get comfortable with them, in my opinion), etc. until you have the background you need in order to be able to do something meaningful. I don't think there are any quick shortcuts to make it easier, but you shouldn't give up - if what you say about your teachers is any indication, you'll probably learn a lot of valuable skills that you did not get taught in school if you try to contribute to something.

      If you're looking at a project and you're not sure where to start figuring out how to make an improvement that you've decided to make, it probably means you need to learn more background knowledge. However, you can always ask the mailing list for advice, if you know what it is you want to improve. Nobody is going to hold your hand though, so you're eventually going to have to start reading through source code.

      If you're wondering how to start making debian packages, you should look at the Debian New Maintainers Guide, the manual for CDBS, and the documentation for make. "Upstream", in the context of packaging, are the original authors of the application being packaged - it's an analogy comparing code to water flowing down a stream

    5. Re:you've already gotten good advise... by Ornedan · · Score: 1

      Could be that you really have done your research before asking questions. Too bad some 10% - 20% of the other people asking questions haven't.
      RTFM is a valid response when it is clear the person asking the question hasn't even bothered taking a look at the manual. That they have not read the manual can be seen from, for example, the fact that the answer to the question of "How do I do X?" is in it's very own chapter of the manual, complete with screenshots of every step along the way.
      Of course, you can (and usually should) be polite when telling the losers to RTFM. But there does come a point where just telling them to RTFM is valid, because you know that the only reason they can be asking the question is that they couldn't be bothered to do any research at all before asking you (up to and including not reading the sticky topic titled "READ FIRST if you have questions about X" in the very same forum they are posting their question to).

  4. go look at some help wanteds by iHasaFlavour · · Score: 3, Informative

    Sourceforge has a help wanted page for project owners to advertise for additonal project members, or go to google code and browse there to see if anything catches your eye.

    --
    Reality is that which, when we cease to believe in it, still exists. - Philip K Dick
  5. Easy by SatanicPuppy · · Score: 4, Informative

    Two words: Source. Forge. As in Sourceforge.net, the birthplace of countless OSS projects.

    End of story. Go there, find something that's interesting, and if it's no longer in development, take it over or fork it, and if it's in development, see if you can join the team (if they need help, there is usually a "help wanted" link on the main project page). Most groups need help, and if you're competent, they'll be glad to have you.

    If you're moving into a big team, be polite. You're a young programmer, and lots of young programmers have a lot of hubris. If you can't work with the people there (and this happens a lot; I once took a Java project, and simply updated it as it stood to get rid of depricated functions, almost no other changes, and I got flamed like you can't even imagine by the lone devloper who hadn't even released an update for 2 years) move on and do something else. There are so many projects, there is bound to be something awesome out there that you want to be a part of.

    --
    ad logicam Claiming a proposition is false because it was presented as the conclusion of a fallacious argument.
    1. Re:Easy by marktoml · · Score: 1

      SourceForge also has a "Help Wanted" section where project folks post what skills they need.

      Good way to find something you are ready to tackle.

    2. Re:Easy by Anonymous Coward · · Score: 2, Funny

      End of story.

      Interesting that over 90% of your post occured after you said "End of story."

    3. Re:Easy by Anonymous Coward · · Score: 2, Funny

      Interesting that you know his penis size.

    4. Re:Easy by ClosedSource · · Score: 2, Insightful

      "You're a young programmer, and lots of young programmers have a lot of hubris."

      I'm an old programmer and I can tell you that hubris is not something that only young programmers are guilty of. It's just that people are more likely to put up with it if you're experienced.

    5. Re:Easy by Architect_sasyr · · Score: 1

      What about http://freshmeat.net/? Easier to track projects there IMHO... it's where I get some of my greatest tools. Sourceforge is good as well, just trying to spread the love

      --
      Me failed English...
      FreeBSD over Linux. If my comments seem odd, this may explain...
  6. or fix the bugs :) by sofar · · Score: 5, Insightful


    Andrew Morton has said it before, and it holds best: "What do I do if I want to be a kernel hacker?". His answer: "fix bugs". This applies for all open source projects. If developers have established that their software has shortcomings, they are very likely to accept solutions. Fixing bugs is the best way to become part of an open source project.

    1. Re:or fix the bugs :) by Anonymous Coward · · Score: 5, Interesting

      Fixing bugs is the best way to become part of an open source project.

      Unless you fix a bug that nobody cares about or doesn't understand what the bug really is. For instance, for years ptrace() in Linux didn't behave like any other ptrace() in other commercial Unices. My colleague spent long hours analyzing the bug, creating a fix, and exhaustively testing the fix to ensure it didn't open up security holes (admittedly ptrace() is a touchy part of the kernel that is prone to security issues). Nonetheless, when he sent the patch to the Kernel mailing list, it was completely ignored. No discussion...not even to say "we are too afraid to accept a patch for ptrace() from someone we do not know". Another example involved an effort to get an interface into the kernel for virtualizing and accessing hardware performance counters (this is in the days before oprofile and something other Unices have long had). A dude submitted a very very nice kernel patch and user library for allowing virtualized access to hardware performance counters. The Linux kernel mailing list completely ignored it. No discussion whatsoever.

    2. Re:or fix the bugs :) by dup_account · · Score: 4, Insightful

      Ok, don't go for the gold right out of the box. Find a smaller/lesser know OSS project to work on. Ideally, find something you are interested in or are already using. Maybe you have something about an OSS project that bugs you... Try to go in and make it work like you want.

      Also, be patient. Unlike the parent, talk to the maintainer before making dangerous changes.

      Final note, Linux kernel list is notorious for ignoring patches... That's why it's good to read the mailing lists etc before trying to submit. Get a feel for the project.

    3. Re:or fix the bugs :) by fishbowl · · Score: 2, Interesting

      >Fixing bugs is the best way to become part of an open source project.

      Writing and translating documentation, testing, and doing sales (yes, I'm serious) will endear you
      to some project teams more than you probably imagine. My sister-in-law is doing sales and marketing
      for a GNU-licensed open source project and is getting paid rather respectably, and traveling the world.
      It's pretty cool, and it shocked the hell out of me that a person could make a living wage in *sales*
      in the open source world, but I've seen it. If I had time, I could plug into that same project as a
      developer and, apparently, could even be paid market wages if my contribution was sufficient.
      But I don't want to stop working in science, low pay and university "perks" nonetheless.

      --
      -fb Everything not expressly forbidden is now mandatory.
    4. Re:or fix the bugs :) by ninevoltz · · Score: 5, Insightful

      I can confirm that your work will be for nothing, if you are not well known. Even patches written by project members will be ignored if the rest of the members don't feel like addressing the bug. Andrew Morton wrote a patch for a kernel bug that I submitted relating to National Instruments Data Acquisition drivers not working with the Fedora kernels. The symbols in the NI drivers are too long for modpost to handle, so he created an expanding buffer patch. Then it went nowhere. This kind of pisses me off. I love Linux, but I fucking hate elitist nerds. This is why more people will not accept Linux when valid hardware drivers can't be properly supported because of personality problems.

      --
      Death is life's great reward. R. Hoek
    5. Re:or fix the bugs :) by ClosedSource · · Score: 1

      Well, this is one of the known flaws of the "many eyes" theory: it ignores politics and organizational scaling issues.

    6. Re:or fix the bugs :) by billcopc · · Score: 5, Insightful

      You hit the nail on the head: elitism is what kills our efficiency. We suffer from inflated head'ism, where any ideas that come from outside the clique are seen as threats. Just look at all the major open source projects, not just the kernel but Apache, Samba, Gnome and KDE... they all suffer from this bizarre "us vs them" attitude.

      I can certainly understand that there are a lot more dumb whiney people than clever ones, but an open-source project manager, like any other manager, needs to learn to maximize the resources available. If you have a half-brained monkey banging on your door, give up some boring job that no one else wants, that will keep them busy AND get your work done. Likewise if someone comes along with a bright idea, don't get jealous and vindictive, instead try to find ways to incorporate these new ideas and skills in your team.

      OSS projects should be run like any other project, with one extremely important advantage: there are no salaries to be paid, so you can get the right-sized team for the project. Too few people and things won't get done, people will tire and give up. Too many people and you spend all your time herding cattle, or hearing your lead developer bitch about how the new kid shat all over CVS.

      To the original poster: if you're a fresh coder and you want in on a project, you're going at it the wrong way. Don't shop around like it's a day job, rather find something you're good at and do it, then show off your work. If you're worth the bandwidth, someone will notice. There is so much fluff in the marketplace, kids who just want their name in Google so they can butter up their resume, that people begging for work don't even get the time of day, except from other newbies who don't know any better.

      --
      -Billco, Fnarg.com
    7. Re:or fix the bugs :) by Anonymous Coward · · Score: 4, Informative

      Ok, don't go for the gold right out of the box. Find a smaller/lesser know OSS project to work on.

      Some projects are actively trying to get newbies involved. I've heard of GnomeLove (though I don't actually know much about it), and Subversion has a list of bite-sized tasks.

    8. Re:or fix the bugs :) by walmartshopper67 · · Score: 2, Informative

      Or join a smaller one, one that doesn't have a zillion developers. Know php? check out http://www.xoops.org/ - they'd be happy to have a developer I'm sure. Just surf around on sourceforge and find one you like and would be valuable to with not a whole lot of developers, and jump in. The worst that can happen is the project dies or it's dead and nobody responds. (I don't have anything to do with Xoops beyond being a user - although I do have some input at http://www.winpackman.org/ where I'm positive they would love to have you =) )

    9. Re:or fix the bugs :) by chip_0 · · Score: 1

      Thanks, the GnomeLove link is quite interesting. I am a long time XFCE user, and would love to work on any small ways to improve it, in any way that I can. Is there any similiar resource for XFCE?

    10. Re:or fix the bugs :) by Wolfrider · · Score: 1

      --Look into virtualization. OpenVZ is doing some interesting things with Linux -> Linux VMs (or VE's, in their terminology.)

      http://wiki.openvz.org/Download_live_CD

      --
      .
      == WolfriderV6 == I'm willing to admit that *I just might* be wrong... Are you??
    11. Re:or fix the bugs :) by v4vijayakumar · · Score: 2, Funny

      Andrew Morton has said it before, and it holds best: "What do I do if I want to be a kernel hacker?". His answer: "fix bugs". But wait, what if I want to create my own bugs?! :(
    12. Re:or fix the bugs :) by sofar · · Score: 1

      some hints:

      1) send it again, send it to the right people
      2) if you still think it's a bug that needs fixing, make a stink about it. *convince* people that they need the fix
      3) if you still don't get it merged, try posting it to Andrew Morton himself instead of a public ML. Use the To: and Cc: fields wisely

      don't fall over and cry. open source developers are really busy and often can't be bothered to read things (hey, 700 mails a day on lkml is surely not helping to get your patch attention!)

    13. Re:or fix the bugs :) by sofar · · Score: 1

      doing support is nice, but it's not code. I always feel sorry for project people who do nothing but support (translations, artwork etc). They never get a real say in the big project decisions, don't get listed as authors, etc...

      You really have to love a project a lot to do just that. It is the least-rewarding job.

  7. patches by ajole · · Score: 1

    submit patches! I fyou can do it, just do it!

    --
    -P ...and the boy pulled open his bleary eyes an discovered the python he always knew he was.
  8. We can use your help if you're interested... by Anonymous Coward · · Score: 2, Interesting

    http://halo.willisburg.org/

    Check out the project, and drop us a line if it interests you.... we can always use another hand or two on the project.

    -Willis

    1. Re:We can use your help if you're interested... by Anonymous Coward · · Score: 2, Informative

      Yeah, there are several "experimental distros" out there, but how many of them are actually truly experimental?

      This project is building off of a microkernel architecture, working to introduce portable applications and user profiles across all *nix platforms, improve and make the UI more consistent and user friendly, design a *nix environment that even if it can be breached cannot be altered past a reboot, and lower system overhead significantly. This is not just "another one" with a couple minor UI tweaks. Genuine effort to make major changes is being done, and with the number of coders we have, we're never going to get a proper alpha release out the door without more help.

      Pan it if you like, your attempt at a scathing comment to belittle this project has done nothing but reaffirm that it's being done for the right reasons and demonstrate that it's more than just another wannabe in the OSS landscape.

    2. Re:We can use your help if you're interested... by nonsequitor · · Score: 1

      While you may need more programmers, you desperately need a technical writer. Reading your project main page made my brain hurt. Its okay to end a sentence. One thing you may want to try is reading it aloud. If you need another breath before you finish the sentence, then the sentence is too probably too long.

  9. Jargon? by misleb · · Score: 4, Insightful

    "but most are overloaded with jargon like upstream/downstream, nightly builds, and so forth"

    Um, this is pretty basic language used on real-world projects. You need to learn the "jargon" as well as actual programming. That's just the way it is. If this scares you, you may want to consider another line of work.

    -matthew

    --
    "THERE IS NO JUSTICE, THERE IS ONLY ME." -Death
    1. Re:Jargon? by drinkypoo · · Score: 4, Informative

      Um, this is pretty basic language used on real-world projects. You need to learn the "jargon" as well as actual programming. That's just the way it is. If this scares you, you may want to consider another line of work.

      Yeah, this kind of thinking just kills me. I was having a similar conversation with my girlfriend a week or two ago about all the jargon in tech. Then she went off about some gardening thing and I couldn't understand at least one word in every damned sentence. There's always a body of specialized knowledge, that's why they call them skills. You're skilled, or you're unskilled, in any particular area. Nobody knows everything, if they did they would be god and frankly I don't particularly believe in the guy :)

      But the thing is that people often think that the jargon is for no good reason, like people are trying to obfuscate their terminology to leave others in more awe. But since computing has so many concepts for which there are no good analogues or metaphors, there will necessarily be a ton of jargon. Each of those words means something, and usually it breaks down to an acronym or initialization which actually means something. Most long-lived trades (like, say, gardening) have all kinds of jargon based on various words that no one uses any more, and so there's little to connect them to! So there's a tradeoff.

      Anyway, point being, machinists know those curly metal thingies that come off the "stock" they're "turning" is called a "chip", and software developers had bloody well better know what a "nightly build" is. Especially since it's not exactly a fucking secret, the answer is in the name. (I realize that you might have trouble with that one if English is not your first language, but from the comment it's clear that they should know what both of these words mean.)

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    2. Re:Jargon? by Rakishi · · Score: 1

      Let me add that with search engines and wikipedia there is no excuse for not knowing the terminology except laziness.

      If you can't be bothered to spend an hour reading up on things then please find another profession for everyone's sake.

    3. Re:Jargon? by Anonymous Coward · · Score: 1, Insightful

      "If this scares you, you may want to consider another line of work."

      "...had bloody well better know what a "nightly build" is. Especially since it's not exactly a fucking secret..."

      That's another thing to look out for: passive agression. There's quite a lot of it on the Internet. There's about ten times as much in the F/OSS world. I'm not really sure why. People seem to get more possessive about things that they're giving away.

      It's also a big problem. With all the jargon about, the rule is "don't be afraid to ask". With all the agression, that becomes "be afraid, be very afraid". Fortunately, you can just leave the angry people alone and move on to something more fun. Just remember, they're lucky to have you. Probably. Unless you're an idiot or something.

    4. Re:Jargon? by drinkypoo · · Score: 1

      It's also a big problem. With all the jargon about, the rule is "don't be afraid to ask". With all the agression, that becomes "be afraid, be very afraid". Fortunately, you can just leave the angry people alone and move on to something more fun. Just remember, they're lucky to have you. Probably. Unless you're an idiot or something.

      I have been known to answer questions, even ones I think are stupid. I've spent hours on various irc channels doing it, just to give something back (and while waiting for someone who knows something to potentially help with my problem - it's a continuum.) But what I cannot respect is someone who doesn't even fucking try to find out the answers before they come begging for you to explain everything in the world to them.

      Besides, if you simply ask google to define: nightly build then it will do so. The result (from wikipedia) highlights another place to go for help, and so on. Not only do I abhor this false laziness (it's actually easier to ask the computer because then you don't have to deal with humans) but someone who needs their hand held to that extent is probably going to need their hand held constantly.

      I don't have time to hold hands - I'm not a crossing guard.

      I help those who help themselves :)

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    5. Re:Jargon? by einhverfr · · Score: 1

      But the thing is that people often think that the jargon is for no good reason, like people are trying to obfuscate their terminology to leave others in more awe. But since computing has so many concepts for which there are no good analogues or metaphors, there will necessarily be a ton of jargon. Each of those words means something, and usually it breaks down to an acronym or initialization which actually means something. Most long-lived trades (like, say, gardening) have all kinds of jargon based on various words that no one uses any more, and so there's little to connect them to! So there's a tradeoff.

      Nah, the real problem is that people have forgotten what the analogies really mean. Bandwidth is a plumbing-related analogy (the wider the band of a pipe, the more you can fit through it). A heap or a stack are pretty much great descriptions in *plain english* of what is logically going on.

      Anyway, point being, machinists know those curly metal thingies that come off the "stock" they're "turning" is called a "chip", and software developers had bloody well better know what a "nightly build" is. Especially since it's not exactly a fucking secret, the answer is in the name. (I realize that you might have trouble with that one if English is not your first language, but from the comment it's clear that they should know what both of these words mean.)

      WHo doesn't understand what it means to "build software?" Who doesn't understand what the word "nightly" means? Why is "nightly build" so hard to understand?

      I would talk about your gardening knowledge but it seems you have a long row to hoe in that regard. ;-)

      My point is-- these are standard English words which are *good* analogies when properly understood. Sometimes we need to slow down and remember that this is English and that it is just a matter of good analogies. Listeners too need to understand that this is just a set of good metaphores using plain English.
      --

      LedgerSMB: Open source Accounting/ERP
    6. Re:Jargon? by drinkypoo · · Score: 1

      My point is-- these are standard English words which are *good* analogies when properly understood. Sometimes we need to slow down and remember that this is English and that it is just a matter of good analogies. Listeners too need to understand that this is just a set of good metaphores using plain English.

      I didn't mean to imply that none of them were good metaphors. But there is no good analogy to describe the difference between a IEEE-1284 (did I get it right? is that parallel port? stupid numbered standards) and a SCSI bus; both are parallel buses, but they are good for different things and have very different characteristics. It's easy enough to come up with a metaphor for a bus, but you have to talk about actual technical differences when you want to talk about different kinds of bus.

      And beyond that, what does "scuzzy" mean? Okay, so it's actually SCSI, and it's "Small Computer Systems Interface". Well, what does that mean? How about FireWire? Is that a piece of wire that sets things on fire? You get the idea. You throw around the lingo and people look at you like the language you're speaking is not of this earth.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    7. Re:Jargon? by misleb · · Score: 2, Interesting

      That's another thing to look out for: passive agression. There's quite a lot of it on the Internet. There's about ten times as much in the F/OSS world. I'm not really sure why. People seem to get more possessive about things that they're giving away.


      But that's just it, your not "giving it away" in the w/FOSS software world. You're sharing your work. With commercial software there's an understanding that you don't really own your work. You're selling your time to a company. So of course F/OSS developers take things more personally. It *is* personal. And that is why it is so great.

      It's also a big problem. With all the jargon about, the rule is "don't be afraid to ask". With all the agression, that becomes "be afraid, be very afraid". Fortunately, you can just leave the angry people alone and move on to something more fun. Just remember, they're lucky to have you. Probably. Unless you're an idiot or something.


      Don't be "afraid" to ask. Just be careful to do some leg work on your own. It is very easy to get used to having your questions answered that you don't stop and do some basic research on eyour onw. It happens to me every once in a while. You start asking question and then you realize (or have someone politly or not so politely point it out) tht you could have just googled the answer or tried it. For example, you might ask a group "What if I typed this, woudl I get the right result?" Well, the simple thing to do would just be to try it and find out. I don't think the agression is really as common ans you make it sound. Sometime people (even smart people) ask dumb questions and waste people's time. And sometimes these people need to be told "Hey! RTFM!"

      -matthew

      --
      "THERE IS NO JUSTICE, THERE IS ONLY ME." -Death
    8. Re:Jargon? by Rakishi · · Score: 1
      I was more complaining about asking for the term "nightly build" but anyway.

      Ok smartass, please use search engines and wikipedia to give us a good definition of 'upstream build' and 'downstream build'. Make sure you filter out the non-programming usage of 'downstream build'. Pretend you're a second year college student trying to figure this stuff out. Given that I have no idea what the terms mean it's not hard to pretend.

      It seems that Debian people apparently use the terms upstream and downstream quite often. That leads to among other things this:
      http://lists.osuosl.org/pipermail/darcs-users/2006 -June/010045.html

      There are a few other references to conflicts and angry rants.

      Upstream seems to refer to the packaged release type builds, with all the README files and so on (what apt-get would give you say). Downstream refers to what developers do and code, new features and so on that isn't (yet) packaged and releasable.
    9. Re:Jargon? by zCyl · · Score: 1

      That's another thing to look out for: passive agression. There's quite a lot of it on the Internet. There's about ten times as much in the F/OSS world. I'm not really sure why. People seem to get more possessive about things that they're giving away.

      Because most of them are not giving it away. They're trading it for respect and recognition. And for some reason there are many people who think that they have to act "superior" or arrogantly for people to respect them. This usually doesn't work, however, but people still think it.
    10. Re:Jargon? by MMC+Monster · · Score: 2, Informative

      Don't know the Jargon? Wikipedia is your friend. You are lucky to work in the CS field. That portion of wikipedia is actually full of good entries

      --
      Help! I'm a slashdot refugee.
    11. Re:Jargon? by misleb · · Score: 3, Insightful

      Let me add that with search engines and wikipedia there is no excuse for not knowing the terminology except laziness.


      Well, i dunno about that. Lack of genuine interest could also account for it. That is part of the reason why I suggested the possibility of a new line of work. It wasn't an insult. I wasn't suggesting that he's necessarily lazy or dumb.

      Any time I meet a graduate of CS, or in this case in their final year, who hasn't already gotten involved in an OSS project or even some significant personal project, I can't help but question their level of interest in the subject. Especially if they are a Linux user already. I mean, how can you NOT already be familiar with things like "nightly builds" as a linux user? Never been on a mailing list for a project you're interested in?? Come on! Most good programmers I know were writing code before they even got to college... some of them didn't even bother with a CS degree.

      Of course, this could also be part of a culture diffeernce between India and the US that I am not aware of. I'm open to that possibility.
      -matthew
      --
      "THERE IS NO JUSTICE, THERE IS ONLY ME." -Death
    12. Re:Jargon? by mollymoo · · Score: 1

      Bandwidth is a plumbing-related analogy (the wider the band of a pipe, the more you can fit through it).

      I thought the term came from the width of the frequency band you require to carry that much information; it's not an analogy. Wikipedia agrees.

      --
      Chernobyl 'not a wildlife haven' - BBC News
    13. Re:Jargon? by misleb · · Score: 1

      Actually, it is the other way around. From the post you linked to (a very good description):

      "...maintaining packages means that you deal with an
      upstream component (the software that you download from a web page) and
      the downstream component (additions made by the "package maintainer"
      that make the pile of files a Debian package)."

      The upstream is the original source. A downstream build is what you get from apt-get. It is the original source with distribution specific patches applied.

      Anyway, this particular bit of "jargon" is somewhat specific to distribution package management and not so much OSS development in general. If you're working on the "upstream" version of a program (where most developers are), you're not likely to hear the term unless some Debian package maintainer is on the list trying to get his distribution patch applied to the "upstream" version. The more changes/patches a package maintainer can push "upstream", the less he has to do to prepare the package for each new release.

      -matthew

      --
      "THERE IS NO JUSTICE, THERE IS ONLY ME." -Death
    14. Re:Jargon? by earlymon · · Score: 2, Insightful

      Geez, could you guys be a little less brutal?

      For one thing, English is one of the official languages in India - many of their governmental offices were set up by the British (apologies for any inaccuracies in this, my Indian friends explained it to me this way).

      For another, the guy is getting trained as best he knows how and is already intimidated by the jargon - advice to seek work elsewhere isn't fair. It's about contributing, not power.

      You were green once too, you know.

      --
      Pathological kinda promises Path + Logical - but instead, you get stuck with pathetic.
    15. Re:Jargon? by anirudh+vij · · Score: 1

      Not all colleges are the same.I assume that holds true even in the US.Hence expecting the "same" from every final year CS graduate is not meaningful.There is no cultural difference.We understand the binary language as good as its creators.

    16. Re:Jargon? by ralphdaugherty · · Score: 1

      "but most are overloaded with jargon like upstream/downstream, nightly builds, and so forth"

            Actually, the answer is put quotes around the phrase and put into Google and click on Google Search. If enough doesn't jump out at you where it's obvious that you can click and read enough to explain it to you, try what is "nightly builds" or other question phrases with it.

            You won't stop seeing new jargon. I still do this on a regular basis.

            Also, beyond jargon, I do the same thing for how to questions. If I asked what is the best way to join an open source project, the results will include threads like this one from /.

            I have lots of how to questions. The more you do, the more questions you have.

            But someone has already asked, and the answers are on the internet, waiting.

        rd

    17. Re:Jargon? by einhverfr · · Score: 1

      Width of a Plumbing band -> Width of a Frequency band -> internet bandwidth

      I suppose it depends on what "originally" means...

      --

      LedgerSMB: Open source Accounting/ERP
    18. Re:Jargon? by misleb · · Score: 1

      Not all colleges are the same.I assume that holds true even in the US.Hence expecting the "same" from every final year CS graduate is not meaningful.


      It has nothing to do with the particular college. I thought I made that clear. A lot of programmers don't even go to college... or at least not for CS. It has to do with an individual's interest in CS/IT. And if you're not into it before college.. or at least before your final year, then something is probably not right and I question your level of interest and/or commitment.

      There is no cultural difference.We understand the binary language as good as its creators.


      Talk about meaningless statements... What is the "binary language" and who are its creators? Is there a decimal language? A hexidecimal language?

      -matthew
      --
      "THERE IS NO JUSTICE, THERE IS ONLY ME." -Death
    19. Re:Jargon? by einhverfr · · Score: 1

      Discounting brand names like Firewire (and Kleenex, etc)....

      You do have a point about standards names, but I would be willing to bet that that is not where most of the confusion lies. I.e. do I need an IEEE-1284 or an IEEE-1394 cable? Yes that is confusing and I will grant you that.

      Granted a universal serial bus is not as universal as the name implies (I can't use it to send my lunch from one point to another), but the name is a good, standard english description of what it is supposed to do in the context of computers.

      My main point is that nearly all of the words people need help with are basic English concepts. Yet because it sounds like jargon, they turn it off in their mind. This is an attitude rather than a comprehension issue. And hence it is corrected by showing people that the words like stack, pipe, heap, and queue are just analogies to standard English uses of the words.

      I have in the past taught computer usage course to senior citizens and I do teach what a stack or a heap is primarily because these things come up in error messages. I encourage everyone to remember that these are analogies based on common English uses of the term, and I have received a lot of positive feedback on these things.

      I.e. the issue is that when people think they can't understand they stop trying. This can be fixed easily enough.

      --

      LedgerSMB: Open source Accounting/ERP
    20. Re:Jargon? by misleb · · Score: 1

      Keep in mind that this is most likely a young person, with not much experience in anything.


      Is it too much to expect a person who is interested in programming to be doing it before college... or at least before their final year of college?

      Maybe it is too much to expect. It is just that all the good programmers I know where doing it before college. Especially the ones using Linux. How can you be interested in programming as a Linux user and NOT have already have contributed to something? Or at least spent time on mailing lists, or have checked out source from CVS/SVN. I dunno, I guess there is always room in the world for people who just pick something to major in in college and decide that is what they're going to do... even if they weren't into it before college. It is just that, again, all the really good programmers I know were doing it before college. But I guess it goes for most lines of work... a great chef was probably cooking long before culinary school. A great businessman was probably tinkering with business before school (selling lemonade or whatever). But not everyone is like that. Maybe I identify too closely with my career choice.

      -matthew

      --
      "THERE IS NO JUSTICE, THERE IS ONLY ME." -Death
    21. Re:Jargon? by Tathgata · · Score: 1

      "Of course, this could also be part of a culture diffeernce between India and the US that I am not aware of. I'm open to that possibility." You are spot on. I'm replying to your comment not as a defense for being unaware of basic things ... but to state how the relative the term basic is (thanks Einstein!). Desktop pcs started becoming a household object for us, the middleclass Bengalis not until 1999-2000. They were shipped with pirated copies of Windows 98, and we thought it was such an integral part the computer, that there could be no other option. Internet access was available only in cybercafes, whose charges were enough to keep you away from them, unless you were that much addicted to porn. Then we started getting account free dial up access - at quite a high charge to the pathetic service. I have two ubergeek friends, who told me about GNU/Linux, and I was hooked. We got access to an adsl connection only one and a half years back, and the world has become a saner place to live in ever since. Now /., *igg, mailing lists, blogs, irc channels, are coming together to give a pciture like never before. :) But few things/people remains unchanged - I have mentioned the state in our college which is true for the so many engineering colleges here. Unless you are fortunate enough to get into an IIT, a programming culture is absolutely non-exisitent.

    22. Re:Jargon? by anirudh+vij · · Score: 1

      """Talk about meaningless statements... What is the "binary language" and who are its creators? Is there a decimal language? A hexidecimal language?""" There is certainly a hexadecimal language ,if you'd look that up on google :) I was basically a pit pissed off at some of the stupid and ignorant comments made by americans on the topic of Indians in IT.Maybe i was wrong to post a reply to you.Understanding the "binary language" refers to that context.

  10. Skool... by Nezer · · Score: 4, Informative

    Perhaps, when you are finished with your bachelors at this school, you should consider a school with better professors for your masters.

    This is such a shame when so-called "professors" actually hinder your learning experience. I'm sure they think they have your best interests in mind. Right NOW .net, VB, etc might be where all the paying jobs are but this isn't going to last. Eventually something else will come along (even from Microsoft) that will make these skills obsolete. Professors are, IMHO, under obligation to ensure you get an education, not training.

    1. Re:Skool... by twitter · · Score: 1

      This is such a shame when so-called "professors" actually hinder your learning experience.

      It's strange that they don't teach them on GCC. The easiest way to make sure your students spend their time learning programming is to set them up with shell accounts and let them log on. This is the way I've seen it done.

      --

      Friends don't help friends install M$ junk.

    2. Re:Skool... by Compholio · · Score: 2, Informative

      Professors are, IMHO, under obligation to ensure you get an education, not training.
      Our department actually states that one of three "missions" is to educate students in how to go out and figure things out for themselves. Some of our professors even suggest that this mission is the fundamental difference between a community college and a university - that community colleges attempt to "train" you to do a particular task while universities attempt to "educate" you in figuring out how to learn on your own.
    3. Re:Skool... by Rakishi · · Score: 1

      Until they need to debug because their program seg faults (so printfs don't help) and promptly try to kill you.

    4. Re:Skool... by bfields · · Score: 3, Insightful

      Yeah, absolutely, consider a graduate degree, and make sure you do a lot of research on the schools you consider to make sure they have people whose interests are closer to your own. Google is your friend here.

      Might also be worth taking a harder look at your own school--are you sure there isn't an odd corner of some department someplace you hadn't previously noticed that's a hotbed of linux hackers? And if you're sure there's not, consider finding a meeting place, printing up some flyers, and starting something--maybe you'll be surprised by who comes out of the woodwork.

      Other advice:

      • Run linux, if you don't already! It's easier to understand and care about the software that you use daily.
      • Work on documentation for some project. Even a lot of the most succesful projects are desperately in need of better documentation, so they'll be really happy to have you. And it's an easy way to get to know the project--both the technical details and the various personalities and projects. You'll probably at least learn how to build it, contribute patches, etc.
      • Find a bug (if you've done the above, you've probably run across one or two). The ideal bug would be something easy to reproduce.
      • Or find some interesting new feature you really want, and work on that.
      • There's a lot of technical stuff to learn (C, bash, various other languages, autotools (yipes), gcc, the basic posix api's, etc., etc.)--don't try to figure it out all at once. Figure out what you need to for a given project.
      • Document what you learn as you go along, and spend some time helping out newbies--if nothing else, it's a good way to make sure you really understand things yourself.
    5. Re:Skool... by i.r.id10t · · Score: 3, Funny

      Crap, I'm doing it wrong! I teach hte only Linux class here at the Comm College I work at (in another department) as an adjunct, adn I spend time with my students showing them how to use man pages, search google effectively, read the "How to Ask Smart Questions" doc by ESR, etc.... Any other tips on how I can change my ways?

      --
      Don't blame me, I voted for Kodos
    6. Re:Skool... by CaymanIslandCarpedie · · Score: 1

      Any other tips on how I can change my ways?

      Yes, encourage your students to preview their comments before posting as to avoid lots of "hte" and "adn"s. ;-)

      --
      "reality has a well-known liberal bias" - Steven Colbert
    7. Re:Skool... by Anonymous Coward · · Score: 1, Insightful

      He was probably just typing too fast, because he was so irritated by the dumbass parent post.

    8. Re:Skool... by SatanicPuppy · · Score: 1

      Shrug. I learned on java, but it was java on the command line. Had to have a basic working knowledge of unix (Solaris) to do anything; the few projects I had in C used cc, rather than gcc, not that there is a whole lot of difference there.

      Having to work from the command line is something I think of as hugely valuable in programming...Helped me out a fricking ton with Java, I tell you, because working with java classpaths and such is weird enough that having to actually type it out will teach you so much more than having Eclipse or Studio One work them out for you automagically. Moving on later to work with apps like Tomcat...You've got to know how to manipulate the raw commands.

      --
      ad logicam Claiming a proposition is false because it was presented as the conclusion of a fallacious argument.
    9. Re:Skool... by Dan+Ost · · Score: 1

      Flush your buffers and it won't matter if the program seg faults.

      Alternatively, load the core dump into gdb (I prefer the printf's though).

      --

      *sigh* back to work...
    10. Re:Skool... by bfields · · Score: 2, Insightful

      Find a bug (if you've done the above, you've probably run across one or two). The ideal bug would be something easy to reproduce.

      Oh, and by the way, if you're not yet equipped to completely understand and fix the bug, you can still be extremely helpful (and learn a lot) just by reporting what you find out about the bug to the mailing list. Steps to reproduce it, partial results of any debugging, etc.--a lot of that grunt work can help you understand the project, and can provide just what the other developers need to finally nail the problem.

    11. Re:Skool... by twitter · · Score: 1

      Until they need to debug because their program seg faults (so printfs don't help) and promptly try to kill you.

      So they can use gdb or kgdb. The pain of not being able to x forward easily will drive them to a better platform, or to master gdb from the command line.

      --

      Friends don't help friends install M$ junk.

    12. Re:Skool... by PitaBred · · Score: 1

      Put an endline character on all your printf strings and it'll flush it. At least, it used to... I haven't needed it lately ;)

    13. Re:Skool... by Compholio · · Score: 1

      I apologize for having offending you, I have no experience with the community college experience and therefore am only able to relay what I have been told. In that vein, I did my best to convey a sense of skepticism by placing certain key words in quotations and making the statement in an incredulous manner ("Some of our professors even suggest..."). The point of the post was that some institutions, and departments, take educating their students in how to learn very seriously, sometimes codifying such intentions and making the policy well-known. Please forgive my inability to convey this message by way of an example.

    14. Re:Skool... by mokie01 · · Score: 1

      Two score and 4 years ago as an undergraduate EE at Drexel Inst of Tech (now Drexel U.)in my first ee course we had to take two exams and a final. Each exam consisted of 3 questions. If you had attended class and done the homework, the first question was easy or a least straight forward. The second was a bear. And the third was at best a bitch. Few garnered any points on it. In the class when the papers were handed back, one of the other students asked our instructor (later to become a dearly loved prof). "Mr Kaplan, why haven't we been taught to solve the third question?" His response, which has guided me for a long time now, was "you have been provided the tools to solve the problem, I just showed you that it could be done with your knowledge. You are not here to learn how to solve the known problems, you are here to learn how to solve the unknown." Again, thank you Mr. Kaplan!

    15. Re:Skool... by geniusj · · Score: 1

      Yes it would. Syntax would be a small part of the battle of jumping from any scripting language to C. Memory management, data structures, pointers, etc.

    16. Re:Skool... by GNUALMAFUERTE · · Score: 1

      Well, let me tell you, the US is the first country that turned education into a commerce, a service that creates good employees for fortune-500 companys.

      How much does a degree cost in the US? Really? Well, here in Argentina education is 100% FREE, the state gives Universities their own budget, and the University controlls it. They are Independent from the state, and from political or commercial influencies. They democractically choose their own authorities, and they are ruled by ex-students, students, and profesors. That's it, no government, private, or commercial intervention.

      There are also private Universities, lots, both cheap and very expensive ones, and you know what? The public University has a much higher level than any private one. Even when we have a limited budget, our Universities are something to be really proud off, they give everyone equal chances, and some of them are very recognized worldwide, for example, The UBA.

      About the H1B applications, let me tell you, I (And i'm not alone) would rather die than leave my country, and specially, I would never work in, live in , or do anything else that contributes with the USA.

      If people in certain countries find the need to leave the place they were born, to go to be treated like shit in the empire that fucked up their country, is because YOU don't leave them much choice. The economical and political situations that lead to cheap outsourcing and massive inmigration into the USA has been shaped by the USA and their allies over the course of the century, so stop complaining. You have the fault.

      --
      WTF am I doing replying to an AC at 5 A.M on a Friday night?
    17. Re:Skool... by GNUALMAFUERTE · · Score: 1

      The US wasn't the first ... but i didn't had the wrong country. OTH, you did had the wrong alkaloid.

      --
      WTF am I doing replying to an AC at 5 A.M on a Friday night?
  11. Step #1, become familiar with the software by pjwalen · · Score: 4, Informative

    The advice you have gotten thus far is good. To get your foot in the door, I would suggest you find a project you find personally appealing in the open-source community. Become familiar with its use and operation. The next step would be to become familiar with CVS or Subversion (SVN). Seeing as you are coming from a more Microsoft background you will be familiar with source safe (most likely), CVS and subversion are simply open source, source control system. You will want to become familiar with their basic use.

    Once you have accomplished those basic tasks, download the source of your new found project to your PC with your source control client (each project will have these procedures documented on their web pages, somewhere). Then become familiar with their architecture. Read through the routines, and their data structures. Once you have a basic understanding of the projects source, you will want to join mailing lists, look at their bug tracking software, and forums. Track down bugs in the projects software and solve them. Using your knowledge of CVS and/or SVN (and hopefully the diff command), you will be able to produce usable patches, or revisions to code that you can submit to primary developers.

    Once you become a valued member of the bug tracking and eliminating community, you may want to begin tackling the projects TODO list for new releases. Adding new features to the product. The rest of the terms you bring up (and many that you didn't) will become more familiar to you as you become more involved in a projects build process.

    1. Re:Step #1, become familiar with the software by bvankuik · · Score: 1

      Skip CVS and just start with Subversion. If only because of the jokes in the manual: 'with a little exercise, merging becomes as easy as falling of a bike.'

    2. Re:Step #1, become familiar with the software by yesudeep · · Score: 1

      I do agree with most of what you have written, but I would like to
      add my 2 cents to the picture.

      I wish we could simply ignore CVS and Subversion altogether.
      If you are learning about these tools, learn them only to check code
      out of repositories and to acquire a basic working knowledge,
      but avoid depending on centralized SCMs as much as possible.
      If you would like something that fits the human way of working,
      use a decentralized or distributed SCM like git, mercurial, or
      even bazaar-ng.

      A good side-effect of this is that you are then free to do whatever you
      wish to with the code you obtain. If what you do grows into something good
      you can easily ask people to pull/merge from you. This helps you get
      involved into FOSS development without the "elitist" politics to a
      certain extent while also giving you enough opportunity to learn
      and contribute.

      Be prepared to throw away code you think is excellent and also
      to face criticism and rejection. This is all a good learning experience.

      Communication is one important factor a good programmer never ignores.
      If you have a question to ask, *ask* it and be specific.
      Do not shy away even if the question sounds too simple or stupid.
      Before sending a patch or fix, always ask the developers for their
      opinions and whether they think a patch is really necessary.
      I have had my patches rejected even after communicating well.
      Some patches are too trivial to be accepted. Some are massive and
      unacceptable. Keep the right balance.

      How many times have you used or written software and wished there was some
      helpful documentation available for it? Read and write documentation
      so your code doesn't look like a big ball of spaghetti with no real purpose.

      Internationalization is another area you can contribute to.
      People like viewing their applications in their native languages,
      and trust me, there are far too many people that do not speak
      English than those that do. So "I will speak your native language as long
      as it is English" is definitely not the correct approach to writing
      software.

      Graphics are required everywhere. Without those little icons,
      you would find it difficult to identify your favorite applications,
      for instance. If you're good at creating them, share them!

      There are several areas of FOSS that you can contribute to, not
      just code. Be polite, helpful, keep your eyes and ears open,
      and don't be rigid with your opinions. Opinions can change
      unless ego comes into the picture--you just need to be convincing
      enough.

      Work with the team. And most importantly, be humble.
      We're all humans with a cause.

      Regards,
      Yesudeep.

  12. 2 things, including: that's not computer science by Oo.et.oO · · Score: 1

    1: that's not computer science. that's software, software engineering (maybe), programming.
    computer science is the theory and history of computer programming from an unbiased (read: non-implementation point of view). so, objects, data structures, logic flow, operating system theory.

    2: you went to the wrong school. why did you stay there for so long?

    these two problems are easily corrected with time and effort. it sounds like you are interested, that is step one. step two would be jumping in. you use gnu/linux, so you know what has to be "fixed" from your point of view. find an easy one. get the code, fix it and ask for help if need be and you have exhausted all the effort in obtaining your own answers.

    good luck!

  13. Something that interests you by OriginalArlen · · Score: 2, Informative
    Find something that you find really interesting. That could be a specific kind of software (media players, CRM systems...), or particular functional areas - say, printing, bookmarks, inter-component messaging frameworks...) Or just a particular bit of software you get interested in because you find yourself using it a lot, and are *constantly* getting annoyed by that *one* missing option to use an LDAP backend, which would make it perfect for you... I've got involved (very very slightly) with a web browser, and some network security stuff, because I was using them anyway (or working in the general area in some way); I was also consciously looking out for some way to contribute something - you take the opportunities you find.

    Or some other type of abstract class of programming task. Writing documentation is also a good way to learn - there's always a need for good docs, and you have to get to know the software really well to write them.

    Pull the current source. Take a poke around. Grep for comments. Look at the changelogs. Look at what's being worked on, where the problems are, how much activity is going on, how many contributors there have been. Scratch your itch!

    And if you can't find anything you actually *want* to do, why, then you can't do better than get some good experience on the wonderful Mozilla projects! Head over to https://bugzilla.mozilla.org/, pick an interesting open bug, and go to it!

    Good luck, and have the appropriate amount of fun :)

    --

    Everything I needed to know about life, I learnt from Blake's Seven
    1. Re:Something that interests you by kie · · Score: 1

      For a small - medium size project here is one idea:

      The equivalent of DTXMania (a simulators to play Drummania) for Linux.
      http://www.gdamania.net/

      I don't think that there is any linux equivalent and I've been unable to get
      dtxmania or the other simulators to work with wine on debian etch.

      --
      living the dream
    2. Re:Something that interests you by drinkypoo · · Score: 3, Informative

      And if you can't find anything you actually *want* to do, why, then you can't do better than get some good experience on the wonderful Mozilla projects! Head over to https://bugzilla.mozilla.org/, pick an interesting open bug, and go to it!

      With Mozilla, or many other large projects, it's a better idea to go look at the build instructions, and once you can understand and follow them and get a working executable out, THEN try messing with the code. Mozilla projects can be very difficult to get compiled (there are lengthy guides on the subject) and being able to actually test your code is an important first step.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    3. Re:Something that interests you by Myen · · Score: 1

      With Mozilla, you might want to look at good first bugs for things that might be easier for someone just starting. As the sibling says though, you want to build first (which can be a challenge in itself in the Mozilla case, sadly).

      Mozilla-specific again - you might want to consider starting by writing an extension. Helps you learn the same things, but no build system hurdle and no need to wait for somebody for reviews before end-users can see it.

  14. Start with documentation by Anonymous Coward · · Score: 1, Informative

    Find a project you want to help with, and believe you can learn enough to help with.

    Next teach yourself what things do, or get help from the devs, and take notes. Turn those notes into documentation, either as comments in the code, or readmes/howtos/etc. This has several advantages:

    #1 - Documentation in most cases (not just open source) tends to be shoddy, this helps out a lot for the end users and the other devs.
    #2 - You've learned a lot more about the project/software, and can be more help to the project at this point.

  15. Pick an interest and run with it by igotmybfg · · Score: 3, Insightful

    I find that I work best (hardest, smartest, and longest) on projects that are personally interesting to me; I suspect that you may find the same is true for you.

  16. find a project that you like by Comsn · · Score: 1

    look at the wishlist, read the code and implement the wish.

    then send patch.

    thats all there is to 'joining' an open source project.

  17. Just Do It by Doc+Ruby · · Score: 1

    Pick one that looks worth completing, with people who look worth working with/for, and just contribute some code. Or test something and contribute your bug reports - or patches.

    If you don't like what happens, then pick another. You'll find one you like, maybe on the first try.

    There's no penalty for picking the wrong one. But there is a penalty for not picking any: missing the experience.

    --

    --
    make install -not war

  18. Skills first by Anonymous Coward · · Score: 4, Insightful

    If you want to advance your programming, joining an open source project is not a very good first step. You see, projects out there mostly are written to solve real-world problems. Real-world problems are not very interesting. The interesting ones are the hardest to contribute anyway, due to steep learning curves and huge code bases.

    I'd advise you to work on programming problems first. Things like combinatorial search, dynamic programming etc.. Once you master common algorithms, you can be an effective contributor. Open source project admins are probably not interested in teaching a newbie about programming. They just want someone to work with and get some job done.

    Once you're confident in your programming, you can learn any API or language easily. Trying to understand existing code is much harder than writing your own, especially if you lack experience. Contrary to popular advice I'd say, don't bother yourself wrestling with already poorly written code. Make yourself capable of writing the thing yourself thru problem solving and then contribute to a project if you feel like it.

    Good luck

  19. Start with documentation by Anonymous Coward · · Score: 1, Informative

    Find a project that needs developer documentation. That could include documenting build/test processes. That'll force you to read lots of code and get a feel for things. It sounds like you don't have much experience with the tools and processes that do the real work - if you've only worked with MS tools, much of that stuff is hidden behind pretty interfaces. Start by learning how makefiles work; learn a little bit of shell programming; try to learn a bit about the various tools commonly used in makefiles, e.g. sed, grep, etc. You should be able to pick up on a bunch of the jargon as you proceed; the Jargon File can be helpful.

    Caveat: Java projects tend to use different build techniques; Python has it's own secret handshakes, etc. So once you learn the basics you'll need to pick a path to follow.

    IOW, I wouldn't worry about making technical contributions until you've acquired a certain level of skill with the tools. Even bug-hunting can involve a lot of technical expertise.

  20. I did this. by Aladrin · · Score: 2, Insightful

    Not long ago, I did this. I didn't set out to 'join an open source project', but that's what ended up happening.

    I found a piece of software I was -very- interested in, felt I could help the team, and started talking to them. It wasn't long before I felt I had something to contribute, and they gave me SVN access. I did, they really liked it, and I was part of the team.

    The key is that you have to -really- want to be a part of -that project-. If the goal is simply 'join any project' then you are going to hate it and the team will probably get quite upset with you for either contributing crap or not contributing much at all, and simply causing ruckus on the forums.

    Again, don't join a project unless you really care about the project itself.

    --
    "If you make people think they're thinking, they'll love you; But if you really make them think, they'll hate you." - DM
  21. Patches. by serviscope_minor · · Score: 1

    It depends on the projects. I have made significant contributions to one and not joined in any official capacity. I hand out on the mailing list and exchange patches with other users and the developers.

    Other projects, I have been invited to join based on my contributions (ie patches).

    Others, I submitted small patches and neither wanted to, nor was invited to join.

    So, yes. Submit patches.

    If you can find a piece of software that you like, but you want to improve, then you can make a more significant contribution, by coding up something big for the project.

    In the end, its hit and miss whether you join, and it often doesn't matter. You can still keep contributing either way.

    That said, since you have only limited experience with C and C++, you will have to improve your skills (by writing patches for instance), before you will be good enough to make a contribution which is big enough.

    In case you haven't realised my message yet, "patches" is the way to go.

    Finally, when I did start getting invitations to join, the developers were all helpful with my n00bishness about version control, regular builds and so on.

    --
    SJW n. One who posts facts.
  22. Find an itch by linuxwrangler · · Score: 4, Insightful

    First, find "an itch to scratch". What excites you? Databases? Web development? Audio processing? Image editing? The first step is to find a project that you would be interested in using.

    Second, read, read, read. Lurk in the mailing lists, IRC, etc. Get a feel for how the project is maintained and the tone of the developers and users. Don't be one of those who shows up new on the scene and suggests ideas that have been repeatedly rejected for the project or patches that break things or show no understanding of the project design and goals. Try to determine if you would "fit in" with the group.

    Third, use the program and dig through the code till you have a good understanding of it. You will learn a lot...including whether or not you want to find a different project. :)

    Fourth, if you have found that exciting project and the code or people haven't scared you away, find out where you can contribute. It's not just about coding. Large projects have people contributing to code, documentation, public-relations, mail-list management, answering questions on the mailing lists, and so on. If you are really focused on programming, peruse the bug list and find some solutions. You will build your reputation by repeated posting of quality patches.

    Fifth, be humble. There's nothing wrong with "I'm new to this project and have been digging through and learning the code. I think this patch might fix bug #1138? Is there something I have overlooked?". It's far better than "Hey guys - here's how to fix that dumb bug..." You could be right, but it's more likely you will find 15 developers jumping into the discussion to tell you what you forgot to take into account with your stupid suggestion. That will set your reputation way back.

    On the other hand, if you are just looking for something to jump into so it can go on your resume, forget it. You won't have the interest and passion to stick around long enough to be useful.

    --

    ~~~~~~~
    "You are not remembered for doing what is expected of you." - Atul Chitnis
    1. Re:Find an itch by Richard_J_N · · Score: 1

      One more thing: I suggest you aim for a small project. It tends to be easier to get involved, and since developers are more scarce, you'll be able to make more of a difference. Also, the source tends to be a bit smaller, so it's easier to understand. Big projects (eg kernel, kde, firefox, OOo) are still very welcoming to developers, but you may find it harder to get started.

      Also, consider a few other topics, eg: Distributions (interface stuff for Ubuntu, DSL enhancements), VoIP (linphone/ekiga), embedded (openzaurus), emulation (Qemu) or just write some useful shell-scripts. Documentation writing is good too!

  23. Find a project you're interested in by Dracos · · Score: 1

    Start by looking for a solution to a problem you have. Chances are, someone's already working on it. Install the code and evaluate it. Join their mail lists, hang out in IRC. Get to know the other developers as well as the code, and of course their tools and processes. Submit some patches. If your efforts have merit, eventually you'll be brought into the fold.

    Starting with a project you can personally use or have an interest in gives you a reason to participate. Picking a project at random won't end up being as rewarding.

    In short, all you have to do is participate.

    Also, almost all projects have staff needs beyond coders. If anyone reading this thread has ever hesitated to join a project because you don't write code, think again. Documentation, testing, interface design, infrastructure maintenance, graphics, even marketing, are all skills that get sidelined/minimalized sometimes. If you can do something, do it well, and make the project better, everyone benefits.

    (Shameless plug in sig)

  24. an easy place to start by Anonymous Coward · · Score: 2, Informative

    is a Best Buy or a Barnes 'n Noble. you're going to need to know the tools and procedures of open source development before you can get anything done or changes submitted.

    0. Install an Open Source operating system with development tools, such as [Net,Free,Open]BSD or Linux
    1. Learn CVS [http://cvsbook.red-bean.com/, http://www.cs.kent.ac.uk/systems/cvs-howto.html%5D .
    2. Learn the basics of the GNU C Compiler [http://www.faqs.org/docs/learnc/].
    3. Learn Automake, Autoconf and Libtool [http://sources.redhat.com/autobook/autobook/autob ook.html, http://autotoolset.sourceforge.net/tutorial.html, http://www.amazon.com/Autoconf-Automake-Libtool-Ga ry-Vaughan/dp/1578701902, http://www.st-andrews.ac.uk/~iam/docs/tutorial.htm l%5D.
    4. Download a tarball of some source code and compile it, learn how to edit Makefiles, etc.
    5. Check out the source code of the same application from CVS, mess around with it.

    1. Re:an easy place to start by brteag00 · · Score: 2, Insightful

      Meh ... I'm not so sure I agree. I don't think the best way to learn CVS is to read a book about CVS, but rather to puzzle through downloading a source tree, making a few changes, creating a diff, etc. There's no better incentive to learn how to use a tool than having a job you need to get done with it.

      I remember the first time I had to extract a .tar.gz archive ... the man page had me completely lost, and the GNU info pages weren't any better. But darn it, I had to get the archive open!

      Certainly, there are a few exceptions (sendmail? autoconf?) where a good reference text makes a huge difference. But for "getting involved in Open Source development", I don't think B&N is the place to start.

  25. Google Summer of Code by jestill · · Score: 3, Informative

    I am doing a Google Summer of Code project this summer. I have found it a really great way to join an existing Open Source project. This may be too late for you since you are in your last year of school, but other folks should check it out.

    --
    "Asleep at the switch? I wasn't asleep, I was drunk!" -- Homer
  26. Jargon by makapuf · · Score: 1

    Don't let this disturb you, the jargon is quite simple and you'll get accustomed to it. Besides, there's always google and let me point you to a famous site (mostly folklore/trivia, but it might light a bulb sometimes in reading mailing lists : the jargon file by eric s raymond : glossary is there : http://catb.org/esr/jargon/html/go01.html )

  27. Something that interests you by rlp · · Score: 1

    As a bunch of people said, create an account and get on source forge. You can work as part of a team OR you can develop your own project. If you choose the latter, pick something that interests you. Think of an application that you'd like to have. A tool that you could use. A software library that you wish was available. Then develop it and put it on source forge. You'll learn a lot and it will be a lot more enjoyable if it's something that you have a real interest in.

    --
    [Insert pithy quote here]
  28. My jargon word by FuzzyDaddy · · Score: 1

    The liquid that comes out of a landfill is called leachate. Now that's a good word to know.

    --
    It's not wasting time, I'm educating myself.
    1. Re:My jargon word by Hoi+Polloi · · Score: 3, Funny

      And if you cook it down and carmelize it it becomes "dulce de leachate". Yum!

      --
      It is by the juice of the coffee bean that thoughts acquire speed, the teeth acquire stains. The stains become a warning
  29. Learning about OSS projects by twasserman · · Score: 2, Informative

    Lots of great suggestions already. You might also want to read a good book on best practices for open source development projects. Karl Fogel's "Producing Open Source Software" is excellent and available in print form or free online here.

  30. Start with what you know, and with what you like by j1mc · · Score: 2, Insightful
    If you're using a free or open source piece of software that's really the place to start - you shouldn't have to google very much to find out information about a project that you could join up with, just look at what you use. Look for something that wouldn't be too overwhelming for you to start out with.

    Once you have that, the best way to find out about what's going on from there is to join the developer mailing list for the project, and to check out their IRC channel. Usually it's best to lurk for a bit before just jumping in stating that you'll do X, Y, and Z for them - that way you get a sense for the current status of the project and what they need.

    A couple of other tips that might be helpful:
    - Take a look at the mailing list archives from the past few months and look for threads that interest you.
    - Take some time to report a few bugs in the program, or to try and triage a bug that someone else has reported. - Join an IRC "meeting" of a group that you're interested in to see what they are doing and what their goals are

    As a rule of thumb, most projects will be glad to have you if you're polite and actually do some work. If you are doing some work, and are polite, and they aren't happy to have you . . . Feel free to move elsewhere. :)

  31. Re:2 things, including: that's not computer scienc by vigmeister · · Score: 1

    From the perspective of an Indian student, Computer Science is often confused with Software Engineering.

    Computer Science is a B.Sc program that lasts 3 years in India. This encompasses roughly half of what they teach in BS programs in the US.

    The B.Tech in Comp Science program is a 4 year program and teaches you Software Engineering with a heavy focus on programming. This is usually what almost everyone who gets into an engineering program wants to do and if you are in the top 10% of the applicants who got in, you are considered a fool if you pick something 'lower' like Mech. Engg :)

    Cheers!

    --
    Atheist: Buddhist in a Prius
  32. Sadly... by jd · · Score: 4, Informative
    I cannot recommend a good place for your lecturers and professors to undergo brain transplants. First off, any lecturer that recommends a specific language is violating the first rule of computing - EVERYTHING is transitory, nothing lasts forever. Their lecturers probably swore by Cobol or PL/I. Only a total idiot tells students that they should adhere to a solution rather than a methodology. Solutions come and go, but the same methodology will apply to them all and make learning the specifics a piece of cake.

    (Hell, anyone who lived through the .com fiasco saw what happened to Java programmers immediately before and immediately after. Java's a good solution to a number of problems, but the market became glutted when the bubble burst, making it a totally unmarketable language in the immediate aftermath.)

    People have noted Sourceforge, and that is definitely a good place to go. If you're only "allowed" to add a few lines, then I'd also recommend investigating Unmaintained Free Software for projects that probably need relatively little work but which aren't receiving any attention at all. One of the benefits of going for an orphaned project is that you have much more freedom on where to take things. You are also, by definition, not subject to jargon on chat groups or mailing lists as there aren't any. It also gives you a chance to test the full range of computer science skills - analyzing, designing, implementing and testing - in a way a current project generally doesn't allow for. You'd be exercising one whole revolution of the software lifecycle.

    The benefits of an existing project cannot be overstated, though. If there are existing coders, there are more pairs of eyes looking at what you're doing. There are people to ask for help/advice. You're less likely to be overwhelmed. There's also a touch more "street credibility" attached to being associated with a project that's better known, which won't hurt your employment prospects in the least.

    If this is a final-year project, they'd better damn well want something non-trivial or I will most certainly have stern words with them. Not that my words are worth anything, I just write a lot of them. A half-way point between the full lifecycle (which makes for a wonderful final-year project report, which is ultimately all that matters) and working on an existing project is to pick something that accepts plug-ins or modules of some kind. There may be abandoned projects of that kind you can borrow from, but it's also stuff that's just simple enough that writing from scratch isn't going to kill you.

    Hope that gives you some ideas.

    --
    It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
    1. Re:Sadly... by jd · · Score: 1

      Well, it's much harder to find LISP processors these days - early LISP implementations were hardware and the better historic designs would likely still be favourable against modern software versions. Having said that, LISP is an amazing language and is probably the closest to an exception to that rule that you are likely to encounter.

      --
      It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
  33. Find something that you'll ENJOY by MoxFulder · · Score: 5, Interesting

    And do it! For instance, improve a feature of a game that you like. Or implement a missing feature that you've been hankering after. I think this is a great way to get started, because it gives you the satisfaction of reward.

    For example, I like to use the free software Theora video codec to rip DVDs under Linux. It used to support SIMD-acceleration, making it encode movies about twice as fast... but only on 32-bit x86. Well, I had just gotten a new AMD64 box, and wanted it to rip movies faster. So I checked out the Theora code, refreshed my knowledge of assembly language, and within a couple days I had a working MMX/SSE-accelerated encoder. It was a very satisfying feeling!! And that code went into the mainline Theora release a couple months later (1.0alpha6).

    1. Re:Find something that you'll ENJOY by LiquidCoooled · · Score: 1

      I agree with this statement as much as the grandparents.

      Its no use trying to work on a project which you have no affinity for.

      My first public jump into Open Source was helping to fix the Flashblock addin on firefox.
      When flash 8 came out it stopped working, so I took the dive and started pottering about with the code.
      After a few inital stumbles I found the right balance and was able to code up a solution to the problem within the existing framework. (My initial codefix was OTT and essentially rebuilt the entire thing, my sig is appropriate...)

      --
      liqbase :: faster than paper
    2. Re:Find something that you'll ENJOY by Mathness · · Score: 4, Funny

      I like to use the free software Theora video codec to rip DVDs MoxFulder, dude! Run man, the mafiaa have you targeted now, and I think one of them is a chain smoker.

      - The Lone Punmen
      --
      Carbon based humanoid in training.
    3. Re:Find something that you'll ENJOY by davek · · Score: 1

      So I checked out the Theora code, refreshed my knowledge of assembly language, and within a couple days I had a working MMX/SSE-accelerated encoder. Wow.

      Muchos Kudos.

      Anyone who works on Theora - especially digging into ASM optimization and 64 bit processing - deserves a fat cuban cigar and a government grant. Vorbis and Theora are the only things keeping the world free these days, IMHO.
      --
      6th Street Radio @ddombrowsky
    4. Re:Find something that you'll ENJOY by MoxFulder · · Score: 1

      Eh... I'm pretty sure I'm not gonna get sued over taking copies of my DVDs along on vacation on my laptop :-) Is the chain smoker thing a reference to Cancer Man in the X-Files?

    5. Re:Find something that you'll ENJOY by Mathness · · Score: 1

      You never know with them, they are the kind of people that would play whack-a-mole with a lawn ornament, probably the gardengnome or the flamingo. :p

      Yes, the smoke was a reference to the Cancer man, one of the more interesting characters in that series I think (not that I am a big fan of the show).

      --
      Carbon based humanoid in training.
  34. Genezzo database project looking for Perl coders by andrewzx1 · · Score: 1

    www.genezzo.com

  35. I prefer working on the real problems. by John+Sokol · · Score: 1

    There are many sugestions posted, here. But I have always taken the approach that we don't need more of the same.
    We don't need more programming languages or librarys or classes.
    What we need is are fixes for the big broken problems.

    Electronic Voting is badly broken, I have mailclad, on sourceforge and web site mailclad.com
    using almost the same underly concepts and technology there is Decash, electronic cash and a new scheme for Anti-spam I will most likely put up at maildr.com or unmailable.com that I am planning to start working on in a serious way.

    Find a real problem that pushes the boundries of technology, or solves real world needs and work on it. It helps if it's something that interests you or directly effects you also.
    SPAM has been a irritation for me personally for many years.

    I was also thinking maybe someone could start a project to slowly replace each sub-components in Q-Mail one at a time until there would be an entirely new work alike package that would be under a much better software liscence(BSD/GPLx) and could be better maintained.

    I'd love it if someone would join my afterburner web server project also on sourceforge and update that code, and make it more Linux friendly.

    The single threaded server engine in there has made an excellent video server and chat server for me in the past. I'd like to make a simple yet fast mail server using it also. Or maybe some gaming servers. RTP/RTSP video server would also be a great addition, all the video on cell phone people would love something better then Darwin Streaming server that is resource heavy.

    I also have some New Operating system concepts I'd love to see coded up, but I had resigned myself to only work on profitable ventures since I an tired of being strapped for cash all the time. But if anyone want's to carry that torch, i'd be happy to point out some amazing ideas.

    Like Multitouch, multi HID/ Mice and users on one screen.
    No OS supports more then one focus and one pointing device at a time. Both Windows and X are very deeply hardwired internally for just one cursor/pointer. Why? Why can't I connect two keyboard and two mice and have color code each pair so two users share a desktop? Think about this one, there are some rather large ramifications for that.

    --
    I am always doing that which I can not do, in order that I may learn how to do it. - Pablo Picasso
    1. Re:I prefer working on the real problems. by alphamugwump · · Score: 1

      Why can't I connect two keyboard and two mice and have color code each pair so two users share a desktop?

      Why would you want to? I could see it being useful just to give yourself more input devices for gaming or 3D modeling, but what good would two mouse pointers be? Unless you're ambidexterous, of course. Sure, you could have a friend use the computer at the same time, but at that point, why not just set up a second terminal?
    2. Re:I prefer working on the real problems. by John+Sokol · · Score: 1


        Well there are several scenarios that had come across, 2 were under NDA's so I can't talk about those,
        But let's take the situation of Multiheaded displays.

        You can put 4 to even 16 screens on One PC. Or even one really massive high res big screen.
          Think ultimate extreme programming or gaming.

        One user has a screen, another user has their own, but either could just move the mouse off of one screen onto the others display and start using the apps there, Copy and paste, and come back to their screen. Or even grab a whole window and drag it back to his screen. Now take this to the next level and do this between separate networked PC's.....

        Lets say, I am working on a document, I can just drag it over to another screen right now just fine, but what if I wanted my friend to started editing on it.
        I'd have to save, quit, copy (or shared net drive), then they would have to re-open and find where I was in that document before they could resume edits in the same place. Usually it's much easier to just get up from you chair and let them take your keyboard and mouse.
        But with what I am proposing you could just drag it over to their side of the screen or over their screen and let them take over the focus on that app, then you could just go onto something else without giving up what else your doing.

        It would allow several people to collaborate very tightly.

        Since I have come up with this idea Microsoft did something a little similar, but far less ambitious. http://slashdot.org/article.pl?sid=07/05/06/166231 Microsoft Invents Split Screen PC

        Until you have worked in some similar situations it's hard to imaging it's value, but it's that multi-person interaction that I think makes things like second life so popular.

        With some hacking/coding with teams working very closely, ether in the same room, or remotely with skype and IM,
        Right now the closest I have come is with VNC or gotomypc where, I am helping another programmer, and can take over his editor, fix something and let him resume, all on the same desktop and window.

        Also another entirely different thing is look at Multitouch screen where they grab an object with to pointers in the video demo it was 2 finger and can rotate and scale an image at the same time, see advancedgui.com

        But having several people operating on one large virtual desktop would really increase productivity.
        http://www.panoramtech.com/ for an example. Large control center screens that look like Apollo Mission control.
      http://www.michaelp.org/photos/kennedy_space_cente r/apollo_mission_control_center_2.jpg with large screens that wrap around a whole room.

        Anyhow now that I have explained it here on slashdot, I wonder how long before it shows up on Ubuntu. I'd love to see it.

        I have this sort of whole Ted Nelson-ish vision I call Amorphous OS, http://www.dnull.com/os/ that would make Linux, Apple and Microsoft's current GUI implementations look as obsolete as the old DOS command lines.
        Sorry my online document doesn't go into nearly as clear and deep details as I'd like.

      --
      I am always doing that which I can not do, in order that I may learn how to do it. - Pablo Picasso
  36. Documentation by halcyon1234 · · Score: 1
    One thing many open source projects are lacking is good, solid documentation. There's a thousand minds working on the code, but not all of them know what everything does. Documentation would help, especially when it comes to answering some of the more common questions.

    If you pick a project, but don't want to/don't know how to jump right into coding, download the code. Read it over. Document it (comments, docs, faqs, whatever). You'll get to know the code in and out, and in doing so, probably figure out some way to contribute.

    1. Re:Documentation by Intron · · Score: 1
      Not possible. The only useful documentation the intent of the code, which can't be learned from looking at the source. An example is this brilliant piece of software by Brian Kernighan. If you hadn't seen it before, how long would it take you to figure out what it does and why its better than the more obvious way to do it?

      unsigned int c;
      for (c=0; v; c++) {
      v &= v - 1;
      }
      return (c);
      --
      Intron: the portion of DNA which expresses nothing useful.
    2. Re:Documentation by geniusj · · Score: 1

      Very cool.. Hadn't seen this before. Less loop iterations than checking bit shifting/checking every bit. Thanks :)

    3. Re:Documentation by jgrahn · · Score: 1

      One thing many open source projects are lacking is good, solid documentation.

      Not in my experience. If there are man pages, they tend to be good. I tend to ignore flashy GUI things named {k,g}* though, so maybe it's worse there. In fact I know it is -- the RHEL5 server at work doesn't even have man pages for those funky things people overload it with; I have to google for the process name to find out what the heck "metacity" is and why everybody runs it.

      If you pick a project, but don't want to/don't know how to jump right into coding, download the code. Read it over. Document it (comments, docs, faqs, whatever). You'll get to know the code in and out, and in doing so, probably figure out some way to contribute.

      Fine, but if so, remember that this would be mostly a learning exercise. If you contribute patches which just add comments to the source code, you probably won't be popular. Removing or fixing incorrect comments should be accepted though, and so might documenting a block of very tricky code which noone dares to change.

  37. Producing Open Source Software, by Karl Fogel by mmurphy000 · · Score: 1

    While the subtitle for Karl Fogel's _Producing Open Source Software_ is "How to Run a Successful Free Software Project", the reviews on Amazon suggest it is good for participants as well. It's available for free at http://producingoss.com/ and is fairly inexpensive if you want it in paper form. I worked with Mr. Fogel at CollabNet and he's first-rate at this, so while I haven't read the book (it's on my to-be-read pile...), I suspect it may prove useful to you.

  38. The Self-Support Mentality by cylence · · Score: 1

    A terrific way to get involved in the community is to simply take on the attitude that, whenever you encounter a problem or annoyance in software that you use and care about, you will take responsibility for fixing it. This is, in fact, how I have recently gotten involved in several FLOSS projects in the last year and a half.

    Every time you encounter a bug, feel free to report it, but also, investigate it. Is it crashing? Whip out the debugger (and recompile from source, if necessary, to get debugging symbols). Some annoyance? Look at the code logic, and write up a patch, including it with your report to the developers.

    This is not only a great way to get involved in FLOSS projects; it's also a terrific way to learn about the software you use, and further your education as a software developer.

  39. It's easy..... by Stumbles · · Score: 1

    Find a project you like, grab the source code, compile it, play with it, find bugs, report bugs, offer a patch if your capable, rinse and repeat. It's really that simple. And who knows, at some point the project leader might ask if you want to be a developer for them.

    --
    My karma is not a Chameleon.
  40. Ubuntu Open week by ramrom · · Score: 1

    Open source projects are always looking for help, this is from ubuntu open week IRC logs with explanation of various things Ubuntu does and how you can help,a lot of questions for beginners are answered https://wiki.ubuntu.com/UbuntuOpenWeek

  41. addendum to my post by iHasaFlavour · · Score: 1

    I m ean google code project hosting.

    Or, um, you could look at my project, I'm in need of the helps..

    http://code.google.com/p/nmod/

    --
    Reality is that which, when we cease to believe in it, still exists. - Philip K Dick
  42. webinject by mu51c10rd · · Score: 1

    The Webinject tool is popular among those using Nagios for testing web functionality. The owner has not done any upgrades in quite some time. Might be a worthwhile to look at working on.

  43. My advice as the head of two projects by laffer1 · · Score: 1

    The answer to your question depends on the project. Well established projects tend to have rules to gain access. FreeBSD developers often have to submit a few patches, get a mentor and go through two years of hell to get in. It really depends in that case on what you want to do. Joining ports is easier than working on the kernel. The Linux kernel development effort has a lot of structure so it will take time to get noticed.

    Smaller projects, new projects, or projects with few developers are much more likely to take you in right away. For instance, with MidnightBSD I usually just want to see 1 patch that looks reasonable. With Just Journal, I'd take anyone who wants to work on it just like that.

    Some projects require that you get friendly with other developers. I work on a gaming mod called FalkconET. I started by offering to host their website and moved up to working on the Mac port. I knew two of the guys from playing Enemy Territory.

    Just be nice and patient. With my projects, I like to get an email from interested developers. Also, be willing to learn the "jargon" and a version control system. Most projects use Subversion (SVN) or CVS.

    1. Re:My advice as the head of two projects by Kessler · · Score: 1

      FreeBSD developers often have to submit a few patches, get a mentor and go through two years of hell to get in.

      That "get a mentor" part is very very good advice for any project. Find a project you like and then politely ask the experienced devs if any are willing to mentor you. Think of a mentor as a guide on your first visit to a foreign country. He/she can tell you the easiest way to get started on that particular project (not all projects are alike).

      In addition, a mentor can field the inevitable barrage of newbie questions through private communication so you are not forced you to expose your ignorance to the entire project. Even the most patient old-timer can get a bit hostile when the project's communication channel gets flooded with the same batch of newbie questions that they've seen a thousand times before.

      Last but not least, keep in mind that the most experienced devs are often not the best mentors. They know too much and often have trouble remembering what it was like to be a beginner. Find someone who has been with the project long enough to know the "landscape" but not so long that they've forgotten the path they took to get there.

  44. How to contribute as a non-hacker by houghi · · Score: 1

    Mny people are not hackers or programers and give as excuse that they are non-technical and thus can not contribute. However there are many ways to contribute.

    * Make a level for your favorite game and contribute it back to the maker
    * Make a skin for you favorite program that uses skins
    * Make Icons, wallpapers or any art for whatever you desire
    * Translate website and manuals to your language
    * Beta test software as a simple user
    * Burn distributions for those who can't
    * Have your bittorent upload your favorite distribution all the time
    * Tell the maker of smaller programs that you use it, or even a simple thank you

    The last will encourage the maker to keep maintining the program. Not all help needs to be directly, or even technical. Just telling people you use OSS is enough. If enough people tell this, at some point it will catch on. It is word of mouth.

    --
    Don't fight for your country, if your country does not fight for you.
  45. Choosing the right school by OhRock · · Score: 1

    I know this might not apply to the question's originator, but factoring the following in your school choice is not that difficult.

    Find out what is the CS department running in their servers and if the have a Unix/Linux lab, if they have subjects where gcc is used, what do the school do for the OS/Architecture classes.

    Also, visit the school's LUG's and/or ACM's website and mailing lists. See what they are doing, ask them about it.

    Find out if the professors are doing research on areas that overlap with FOSS, as they will be likely to use it then.

    Ultimately, enroll in a school that has a Unix tradition - out of Chicago UIC is the only one.

    I took some of this things in account when looking for school, and I end up enrolling in UIC as I also wanted to be close or in a big city. I could not be happier with my choice, all the development is done in python/java for 100 level classes, JAVA running in linux for the 200 levels, and then gcc for the anything that requieres C/C++. Most everything is done using UNIX/Linux. On top our ACM is very Linux friendly, and both LUG and ACM do lots of really interesting things in the FOSS area.

    Roberto "ohrock" Serrano

  46. Read a book and choose a problem or domain by synthespian · · Score: 1

    Hi --

      Read one of those books that introduce you to the toolsets and cycles in open source programming.
      Also, choose a domain you want to work in, or one in which you have some expertise. Is it user interfaces, graphics, mathematics, little enhancements to GNOME or KDE, etc?
      And remember that Linux is not your only choice: you also have OpenSolaris and the *BSDs (FreeBSD, OpenBSD, NetBSD and DragonflyBSD).

      HTH.

    --
    Main difference between the BSD license and the GPL license: one is from California and the other is from Massachusetts
  47. Seconded by metamatic · · Score: 3, Informative

    Frankly, Google should scrap their Summer of Code and have a Summer of Documentation. There's already too much badly documented (or undocumented) code.

    --
    GCHQ Quantum Insert installed. If only our tongues were made of glass, how much more careful we would be when we speak
    1. Re:Seconded by einhverfr · · Score: 1

      Frankly, Google should scrap their Summer of Code and have a Summer of Documentation. There's already too much badly documented (or undocumented) code. You should see the code the LedgerSMB project inherited. No documentation, and the structure resembled either a big ball of mud or a plate of spaghetti depending on your viewpoint. (I meld these together and call it the big ball of worms architecture). While the program's use is documented, and while new code is documented, older code is rarely commented and those comments that exist are actually a part of the code (remove at your own risk!).

      Six months later, we are making a dent in the old code. In another year, we should have it all replaced. Yipee :-)
      --

      LedgerSMB: Open source Accounting/ERP
  48. Don't by Statecraftsman · · Score: 3, Funny

    Yes, I've seen all your supposed facts and evidence that open source software helps people learn to program and provides many more people with the tools they need. Unfortunately, I don't go by facts and evidence. I go by my gut.

    My gut tells me that free software is just wrong, and that if you don't get paid for your work, you just might be a communist. So please don't submit patches and support this drain on our economy. Go out and *buy* the software you need. That way you'll be able to support the country and economy again next time an upgrade or new version comes out. My gut and thousands of democracy-loving programmers thank you.

  49. How about... by DRAGONWEEZEL · · Score: 1

    Fixing some WoW mods?

    Tons of Lau, EASY programming, plenty of defineable todo's, and a comunity which will actually use your product!

    --
    How much is your data worth? Back it up now.
  50. You're welcome to give me a hand with one of mine. by Short+Circuit · · Score: 1

    Are ya interested in D&D?

  51. A chip? by Dr.+Evil · · Score: 1

    It's called "swarf!" http://en.wikipedia.org/wiki/Swarf

    Some jargon is BS though. Investing jargon drives me nuts "taxflation", "bear", "bull", "forex", "fundies"...

    Ugh. Don't get me wrong, the financial sector jargon is fine. It's very necessary and describes precise concepts. It's just this wishy-washy investing stuff.

    1. Re:A chip? by drinkypoo · · Score: 1

      It's called "swarf!" http://en.wikipedia.org/wiki/Swarf

      Uh, no. Swarf may be the name for a collection of chips, but a single piece of metal that has been cut off a piece of work (typ. on the lathe, but also the output from a milling operation) is called a chip (unless it's a whole block you cut off, I don't even know what that's called, because I'm not really a machinist.)

      Next time try wiktionary as well as wikipedia, it will tell you that a chip is "A small piece broken from a larger piece of solid material." ("From Old English cipp (small piece of wood)")

      I got the terminology from my instructor in my intro machining class, in which I got an A, whee. Mostly we did exercises on the lathe (like turning to a series of diameters, cutting threads, etc) and some of us, including myself, did some milling (I made a water block for socket 7 and similar and then never used it for anything. Bought the fittings, even.)

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  52. But what about the basic knowledge by adeydas9 · · Score: 1

    All this is fine but I (BTech, CS student from India) hardly know about the Linux kernel or stuff like that. Those things are never taught in deep here. All we learn is basic languages and that too in the most bookish of all ways possible. Can you please suggest some way to learn more about the kernel, etc???

  53. As a project maintainer, I would say... by einhverfr · · Score: 2, Informative

    The first step is to join an open source community. Lurk for a while, use the software, see what works and what doesn't.

    Then start getting active in the community. Give support, feedback, and the like.

    In the mean time, if you can fix bugs, great. If not, just getting involved may help you get a feel whether this is the right community and project for you.

    Oh, and decide what you want to accomplish. Do you want to get your name out there? Earn income by coding? Just have fun? This will determine what sorts of projects you want to get involved in. (I prefer to do all three.) If you want to earn income as a coder, and are willing to program in PL/PGSQL and Perl, I would recommend the LedgerSMB project primarily because we seem to have a chronic shortage of coders interested in doing commercial work. On the other hand, if business process problems aren't interesting and hard-core computer science is, maybe some of the compiler projects or kernels, or something new altogether.

    --

    LedgerSMB: Open source Accounting/ERP
  54. Work on a business app instead of a tool by almax · · Score: 1

    Most open source offerings are tools (ie. databases, operating systems, etc.) and there is room for only so many tools, but there is a need for as many specialized business applications as there are types of business and it is possible to make money on those because businesses will pay for solutions, not tools. The Apache Open for Business Project (http://ofbiz.apache.org/) is truly disruptive technology in this regard. It is a brilliantly designed framework for developing apps and it comes out-of-the-box with working enterprise level software. It takes a while to learn the environment, but it is so rich that it makes knocking off vertical apps a breeze once you know it. It is Java based, but also has a strong XML-based scripting environment that makes it possible for domain experts, not just Java gurus, to develop apps. Developing an application for a small business and making money on it helps both you and the small business. I think this model has the potential for delivering much more on the promise of open source than anything that is out there.

  55. Mod parent up by Skapare · · Score: 1

    Yes, the author is a newbie. Apparently he is not a newbie at development and programming, but is a newbie to the way open source is structured. Something that is specific-project-neutral but tells people about how open source is done would be very helpful. Beyond that, the best I can suggest is to hold your breath and dive in. Don't be afraid to ask question; just admit what you don't know and show you're willing to learn, and willing to do the work to learn, but just need to be pointed in the right direction. Different projects do things in different ways. Many use one of many different source version control systems. Some don't use any at all. Larger projects have dedicated servers and recompile everything from the latest check-ins (new source added in) every night or so. Some just do it all manually when someone feels like it. My own projects are written by myself and have none of that fancy stuff.

    --
    now we need to go OSS in diesel cars
  56. Vocabulary tips by rduke15 · · Score: 1

    For the problem of "geek slang" you mention, a few tips which can help:

    - Google define: Type "define:" followed by what you search in the Google search bar. For example: nightly build

    - Many of the above will lead to Wikipedia, which is a good resource for anything geeky (and other stuff also)

    - Sometimes, the Urban Dictionary can help

    - In forums or mailing lists, when you come across an unknown term, just ask.

    - Don't only read /. and forums, but also some literature...

  57. Gaming consoles by gatkinso · · Score: 1

    Already do this. Hell, the Atari 2600 did this 30 years ago.

    Next!

    --
    I am very small, utmostly microscopic.
  58. Who the fuck promoted this as insightful? by melted · · Score: 1

    Why would he need "dynamic programming" out here in the real world? Care to explain? Why does he even need to master common algorithms? Trees, sorting - all of this is already done twenty times over. This is not to say that strong background in algorithms doesn't help, it does. This is to say that 90% of programming has nothing to do with computer science, and as a beginner, that's the 90% he'll be doing.

  59. If your teachers are discouraging GNU/Linux... by v3xt0r · · Score: 1

    Then most of what you're learning in school, will probably be worthless in the real-world (as is a lot of the times the case), unless your idea of 'real world' involves working as a .NET developer, in which case, I feel for you. =p

    IRC, mailing lists, and LUG/SIGs are a great way to get familiar with things, especially IRC, since it's a real-time international discussion.

    Find some applications with bugs. Fix the bugs and submit them to the project's BDOL.

    If I may suggest, one project that I am particularly fond of, and would like to see it further developed, is multi-aterm.

    --
    the only permanence in existence, is the impermanence of existence.
  60. GUI / Front ends by dahl_ag · · Score: 1

    There are a number of programs and utilities out there that are currently command line only. I have been thinking about working on a GUI front end for one of these as one of my next projects. Seems to me that this could be easier than learning the internals of a given existing project. This way you can slowly implement functionality using the framework of your choice.

  61. My suggestions for new contributors by SL+Baur · · Score: 2, Insightful

    It's unfortunate you're in your last year. College students are typically the most valuable contributors to a project because they have fewer hard demands on their time like work, spouses, young children, etc. Also, upon graduation, you will often find that the leaders in the project are more than happy to write you references after you graduate - I did on a number of occasions.

    (In no particular order)

    DO pick a project that interests you.
    DO lurk for awhile on the relevant mailing lists so that you get an idea of who the leaders are, what the pressing issues are. You'll also be able to learn that way how contributions are expected to be made. It is also a good idea to read archives of older postings, understanding history is very important and often ignored.
    DO be aware of how the project is licensed. Some projects require copyright assignment and will not touch any work you do until you perform copyright assignment.
    DO consider doing documentation patches first. Bug fixes are cool, but it is only the very rare person who tackles documentation. There never tends to be an oversupply of people of doing documentation.
    DO get involved doing build testing especially if you have access to non-standard or rare hardware.
    DO learn what a .signature is before you start sending mail out. Be sure that you turn it off.
    DO read any relevant FAQs before offering any suggestions.
    DO NOT repeat a suggestion that has been turned down repeatedly (ex. why can't we replace the lisp engine with Perl?, why can't we have a stable Linux 3.0, etc.)
    DO NOT get angry at someone in public.
    DO NOT contribute to off-topic threads, you should know what these are, you've read the FAQ, right?
    DO practice your English writing skills, this will help you in your career too.
    DO NOT be disappointed when your patches get rejected, learn from your mistakes and keep trying.
    DO try to answer questions more than you ask them, when your answers are correct you will earn a lot of reputation.
    DO be sure that you're having fun.

    1. Re:My suggestions for new contributors by norkakn · · Score: 1

      > DO practice your English writing skills, this will help you in your career too.

      DO NOT take this as an insult at your nationality. The parents advice is universal; native speakers should heed this advice as well.

    2. Re:My suggestions for new contributors by SL+Baur · · Score: 1

      Yes, to both of those comments. I should have added DO have a thick skin, quite often an innocent comment can be interpreted as something other than what was intended (this is especially true between various English speaking countries - American English != British English != Australian English, etc.).

      If you're bilingual and want to start contributing immediately to the Linux kernel, they're starting a translation project of some of the developer documentation. I've seen Japanese and Chinese (Mandarin? I can't read any Chinese) translations of the HOWTO and stable-api-nonsense documents go by in the last few days.

  62. click below to join by hdparm · · Score: 1

    Fedora. Fast-paced perhaps but plenty to learn and contribute.

  63. Like the old joke about the French? by ClosedSource · · Score: 1

    Open source organizations don't care what you do as long as you use the right lingo and slang.

  64. Re:Bob Gotse is the future of Open Sores by HermMunster · · Score: 1

    What's amazing is that Linux is so much powerful than the toy OS one would have to classify say "Windows" as. Linux is much better designed, more secure, has faster development, and will give more knowledge to you than any other OS. Windows is sort of toyish. It has been that way from the first time I used it back in 1984 (I think that was when I saw it first). I ran it off one floppy drive and had to swap out floppies to use it as I went. It was incredibly slow, almost incompetently slow.

    I've watched Window from then and watched the industry leaders and trend setters. If you carefully follow what has happened in the industry you'll note that Windows really was quite rinky dink for a long time. Only under Windows 95 did it start to flesh out, but there was a lot of toyishness to it then too. Unfortunately that toyishness is still there.

    I've watched the Linux community now for the past 4 years and I have been very impressed at the speed of their advancement and the sheer quality of the work on the kernel and interface. Granted there are still some toyish aspects to it but my educated opinion tells me that it has exceeded that of Windows.

    Vista, today, isn't much more than a bigger pigish toy with a bit of lipstick. I have no desire to see anyone waste their time on a closed source environment that is only documented as well as Microsoft permits it to be, and only permits it to the extent that it doesn't allow another company to produce a product that competes with its own.

    I think generally, and mostly overall, few would consider Linux to be a toy, at least moreso than Windows is. Even the term Windows is toyish. Vista is just a theft term with misleading connotations. Heh, that's how I perceive it. I remember windows meant windows on the screen. Now Vista is supposed to mean expansive view but it has nothing to do with windows on the screen. On top of that it's not even expansive as Microsoft has done so much to inhibit our free and open use of our computers.

    --
    You can lead a man with reason but you can't make him think.
  65. How about a plugin? by slapout · · Score: 1

    Some open source projects are created in such a way that you can add features to them by writting plugins (Rockbox, Media Portal, Mythtv, etc.) That might be a good way to get involved with the community.

    --
    Coder's Stone: The programming language quick ref for iPad
  66. It's not about knowledge by Anonymous Coward · · Score: 1, Insightful

    it's about skills. You'll most likely never use dynamic programming to solve a business automation problem but studying such algorithms and solving hard problems gains you skills. Debugging skills, analysis skills, the self confidence, ability to read and interpret complicated texts.. When you study algorithms, you don't do it for the purpose of publishing a new STL. It's already been done "20 times over". You study them to improve your mind.

    If your dream job is being a code-monkey that converts design documents to code, then correct, you don't need to know computer science at all. You can just get the knowledge you need and start churning. This often gets people in trouble when they come across something slightly complicated. If you never coded anything more complicated than nested loops, what are you going to do when you need to debug some spaghetti coded by an idiot 10 years ago? I've known quite a number of people who had been doing exactly what you propose for 10+ years, just learning what's needed for the problem at hand. They used to come to me for advice even though I was fresh out of school. Just obtaining knowledge thru experience doesn't get you anywhere. Anywhere nice at least.

    I think having excess skill is a must for a developer, not an option.

  67. I am an Indian and I faced the same thing by baboonlogic · · Score: 1, Insightful

    ...three years ago. I decided to finish my education before getting involved in something real.

    Everything modded highly above so far is good and there's no point repeating it, so I will just mention the Indian stuff. :P

    Problems

    1. Indian institutes pick up developments like C++/STL etc a bit too slowly so you will have to work that out for yourself unless you are from a lucky place.
    2. We Indians typically don't learn any real world toolkit/framework/library. It is only very large projects like the kernel and subversion that don't rely on toolkits/frameworks etc. A smaller, entry level project, say like some small game or something will typically use a framework/toolkit of some sort. If you don't know even one of these then it is extremely difficult to get started. Though once you know one you can pick up on others over time.
    3. Too few mentors.

    Solutions

    1. Read wikipedia and its discussion pages on the language of your choice. You will know what you are missing. Learn that up. And if you were not taught STL, please pick it up if you want to proceed with C++. Ask your doubts on irc. IRc works once you figure out stuff like "Don't ask if I can ask", etc!
    2. Try one of these -
      • Pick up some toolkit of your choice for example, in C++, you could choose something from QT, GTK, ncurses, SDL, etc. Now find a project that uses these and is both small and interesting and follow the slashdot advice.
      • Find the project first and then learn the corresponding toolkit. This is slightly more difficult for things like C++ etc.
      1. NOSIP
      2. Join your local LUG and attend it's meetings.
      3. Redhat too has a summer internship program in India I think. At least they did 3 years ago.
    3. Perhaps I should add a proper detailed howto for Indians on my home page sometime. Anyway, good luck!

      Oh and also check out Sarovar along with sourceforge. (I am not affiliated with Sarovar or anything, btw.)

    1. Re:I am an Indian and I faced the same thing by anilg · · Score: 1

      Another Indian thing is open source equated to Linux. There is a very active OpenSolaris UG[1] in Bangalore and many other cities if you're interested in contributing to the many open projects here..

      [1]http://www.opensolaris.org/os/community/os_user _groups/bosug/

      --
      http://dilemma.gulecha.org - My philospohical short film.
  68. Start your own by TheoCryst · · Score: 1

    Do what I did: start your own project. Instead of wading through the poorly-written source code of others, generate your own code. Find a niche that has not yet been filled, and just start writing. For me, it was an equivalent to Microsoft Paint on the Mac: there are absolutely none. So I sat down with a good Cocoa programming book, and just did what I could. Fifteen thousand downloads later, and my project has exceeded my wildest expectations. (Shameless self-plug)

    --
    Warning: Contents May Be Flammable. Keep Out Of Reach Of Children.
  69. Structure guru? by gluechucker · · Score: 1

    I've submitted some patches for an OSS game at one point, and it was as simple as introducing myself to the team saying that I was interested, reading the code until I got it, while watching what kind of changes were being made lately by other people (through cvs), and learning to patch so I could submit mine where it was reviewed (I suppose, I don't know the process; it just took a while).
    ^^ Wow, that's a long sentence, but I'm no grammerologist.

    My reason for posting, though:

    This post made me have to ask, is it at all a common practice for an OSS team to have 'structure guru' type role where someone doesn't particularly have too much emphasis on the coding of new things as they do just knowledge of how it all fits together and works out? I'd imagine it to be beneficial, because while it is one less coder, it is a reference for anyone else who would like to fix/revise/add/whatever and are new to the project... like a team mentor that's there to bounce questions off of where documentation might not cut it (for instance, maybe a very broad view of how all the modules of an application fit together). Just curious, never heard of it happening.

  70. packing is a way of learning by belmolis · · Score: 1

    Another possibility to consider is to package an existing project. For example, if you like Debian, you could find a program that interests you that is not yet available in a Debian package and package it yourself. You'll have to learn your way around the code to some extent, learn how the build system works, etc. You may have to write some documentation. You'll also learn about a bug control system and patching. (Debian requires a man page, for example, which not all projects provide.) Initially you'll have to submit the package for someone else's approval, but in time you can become a full-fledged package maintainer in your own right if you want to.

  71. Step one by ceoyoyo · · Score: 1

    Get a better attitude.

    You spend half of your question whining (yes, whining) about your professors. Now, maybe you're at a really bad university, but it's more likely you've got an overdeveloped sense of entitlement.

    So take all the rest of the advice you got here and remember that an open source project maintainer, supervisor, whatever, probably won't hold your hand either.

  72. How I did it by CTho9305 · · Score: 2, Informative

    A few years ago, I wanted Mozilla to be able to play a sound when a download completes. I got on IRC and asked for help, and a couple very patient developers helped me understand where the code was that needed to be patched, and how to fix the issue. As I found other things that were missing, or things I didn't like, I wrote more and more patches, each time with less help - probably 99% of the lines of code in my early patches were written over IRC by more experienced devs, and pasted into a text editor by me :-).

    I started taking on code-cleanup-type bugs, and eventually, as I became more familiar with the codebase, more visible bugs (and even ones that didn't affect me personally). I've fixed quite a few bugs now, and have quite a bit of responsibility.

    I don't know how well it'll go if you don't have a vested interest in your contributions - it's incredibly difficult to get into a huge codebase like Mozilla. I had written programs of up to a few thousand lines of code before, but working in a multi-million-line project is very different. Start with small changes, and don't feel bad when your patches have to go through many revisions before being accepted.

  73. What? by Ayanami+Rei · · Score: 1

    I think you're confused. Every X "server" is a framebuffer or framebuffer emulator and input device nexus. It also houses a clipboard, font resources, and some other less used facilities.

    No client to receive the video is required unless the XServer is actually a proxy (i.e. Xnest, XVnc, or whatever).

    Now what you're thinking about with Unix sockets is when X clients (like firefox or konqueror or the display manager) which are running local to the machine that is running the XServer on the console; these connect via a local socket or shared memory for fast graphic display.

    --
    THIS THING CAN TURN ON A DIME, MACROSSZERO STYLE ALSO FUCK BETA, ~NYORON
  74. Reading between the lines by justfred · · Score: 1

    The good news is that (if you believe the OP) the Indian software developer community is concentrating all its efforts on Windows. Which means, plenty of open source work left for us here in the western hemisphere. Besides which, they're digging themselves into a trench. Windows development is so ten years ago; open source and web-platform development (mutter mutter iphone mutter mutter) is the future. That being said, perhaps the poster's best path would be open source software evangelism in his local area?

  75. Consider a cross platform project by Bunyip+Redgum · · Score: 1

    Since you want to code on a free operating system and your professors are still tied to One Microsoft Way, why not pick a project which runs in both environments?

    There are lots of cross platform development environments - anything from a plugin for Firefox to applications that run in mono and .Net!

    That way you can develop under your OS of choice and your professors might learn something from you...

  76. Start slow, start small, stick with it by ardran · · Score: 3, Insightful

    I was in a similar situation when I got out of college. I had a lot of theoretical training in college and wanted to get my hands bloody. I was coding at work, but it was odd embedded stuff and I wanted some different experiences to "cleanse the palate". I ended up doing work for two projects: Vim and Mozilla. I chose these projects for two reasons: I liked what they did, and they had lots of room for additional coders.

    Vim was sort of a dive-right-in situation. Bram maintains a vast TODO list that ships with every version of the product. I spent a while reading it, picked out a couple things that seemed like they ought to be easy, and got to work. I joined vim-dev and mailed out patches. I didn't do a ton for the app, but I got a few things in.

    Mozilla was a different beast in many ways. It was a much more structured environment due to the review process and the presence of Netscape. Also, it was in C++ (which I barely even knew, thanks to some shoddy university training), and not just any C++, but XPCOM. At first I was intimidated by the size of the code and not knowing where to start, so I didn't even touch the code. I spent several months just sitting in #mozillazine and triaging bugs. I dup'd, I closed, I changed to NEW, all that good stuff. Through this, I achieved two important things: I got a much better sense of how the product worked, and I met some of the players involved through IRC contact. By this time I was sitting on #mozilla as well, but I never said a word.

    Eventually, I downloaded the code and bought a copy of Don Box's "Understanding COM" for background reading (that book is amazing). From all the time spent triaging, I knew some of the areas where bugs were piling up and nobody was looking at them, so I started there. I submitted a few small patches, had them reviewed, had people check them in for me. The reviews were harsh sometimes, but I was learning a lot. Eventually I moved around a bit and took on larger fixes.

    I did this for a year or so before I got too busy with work and dropped out of sight. To this day it was some of the most fun I've had as a coder. For all its flaws (in those days, Firefox was still "m/b", and Netscape ran the show), it was a great project, and some of the people who worked on it were the best programmers I've ever worked with.

    So, my advice: start slow, start small. Figure out who you can ask for advice about something. Look for other (non-coding) ways you can help out that will help you get familiar with what's going on. It's worth it.

    1. Re:Start slow, start small, stick with it by DonBueck · · Score: 1

      My experience is similar. I was using CakePHP at work and needed to enhance some features. One great way to get started was to help other users with their problems, use the message boards and dev. channels to ask questions/offer ideas, and just get to know the community.

  77. JKH (Junior Kernel Hacker) TODO List by Anonymous Coward · · Score: 1, Interesting
  78. KDE Project by mp3phish · · Score: 1

    My suggestion?

    Join the KDE Project. Just monkey around in some smaller projects inside there. They have IRC Chat discussions, forums, mailing lists, the works. And I don't know a single person in there who doesn't have their arms open to new motivated developers.

    You won't find all the anger and aggression in the KDE project like you do in other projects like the Kernel, or others.

    --
    Your ignorance is infinitely greater than you realize.
  79. Sounds like the wrong solution by Rix · · Score: 1

    Why should the kernel adapt to a misbehaving module? Wouldn't it make *far* more sense to shorten the symbols in the NI module to something sensible?

    1. Re:Sounds like the wrong solution by ninevoltz · · Score: 1

      Why should the kernel adapt to a misbehaving module? Wouldn't it make *far* more sense to shorten the symbols in the NI module to something sensible? This was the exact argument that killed the patch. I made sure that NI knows about the problem, and they made some noises that they would take care of it in future releases. But wait a minute, what defines a "misbehaving" module anyway? How about when you have hundreds of entry points in your modules and you try to give them all unique, sensible, and human readable names? You end up with symbols 1000 characters long. Does it break anything else? No. That argument is exactly elitist. Shouldn't the kernel be about working for the users, not making convenient coding for the developers? Things should just work, No one should care who has to bend for who to make it happen.
      --
      Death is life's great reward. R. Hoek
  80. Go read the mythical man month by Rix · · Score: 3, Insightful

    You're far better off shooing the sub par off than giving them even a small job.

  81. Go to a real school by Rix · · Score: 1

    Or suck it up and deal with the fact that you've been trained for call centre work.

  82. Shameless Advertising: by udippel · · Score: 1

    In case you are interested, here we do welcome Final Year Projects and MSc candidates who are keen on joining or starting or writing a FOSS project or thesis.
    And I am sure there are many other universities out there who do likewise.

  83. The New User Interface Group by ifakemyadd · · Score: 1

    I ran across this open source group via the fancy Jeff Han stuff. www.nuigroup.com. They're taking images from a webcam, and doing fancy blob detection for a multi-input touch interface kind of thing. They work in windows mostly, with a c++ lib, porting into other windows-y programming environments. Open sound control (a lightweight protocol) VVVV (I'm still not sure what this is), DirectX layers, and more.

    It would work great to try and integrate as a lower level windows driver. Right now only applications work with a library. But perhaps a driver, working with a webcam driver, presenting itself as an input device? Eh? Well its certainly got potential to consider.

    Ironically I got interested in the project from the perspective as a linux project. It would work very well on an embedded linux system, passing information on the pci or usb bus to any which os. But embedded programming is a whole different ballpark from the rest of the programming world.

  84. Well get the name right to start with: Linux by r00t · · Score: 1

    It's only Debian that caved into Stallman's desire to rename Linux for his own glory.

    Lots of us Linux hackers are more or less peeved at the situation, especially Stallman's abuse of his control over the GPL preamble and the uname command to force the issue.

  85. school's OS of choice by tflaco65534 · · Score: 1

    I cannot believe that linux is frowned upon at this college. Funny, where I go, WINDOWS is frowned upon and all student projects and coding has to be done on linux or any other unix variety.

  86. Just do it. Simple as that. by fzammett · · Score: 1

    Speaking as someone who runs a couple of open-source projects (Java Web Parts - javawebparts.sourceforge.net, DataVision - datavision.sourceforge.net, as well as some smaller ones), and as someone who has contributed to a number of open-source projects, my advice is simply to get out there do do something.

    Submitting patches is indeed the first usual step. The existing team members need to see (and have a responsible to see) that you know what your doing. This means different things to different people, but at a minimum it means that you have enough competency to not break anything. Being on the mailing list is indeed the other logical first step. Don't be afraid to jump in to conversations (once you have a clue), just do so politely and which as much forethought as you can muster. If anyone involved in the project attacks you if you've done both of those things, than you don't want to be involved with that project anyway.

    Something else that a lot of people don't consider is you don't necessarily have to be directly involved with the project. In fact, that's how the most popular component in Java Web Parts (AjaxParts Taglib) came into existence: it was originally an extended Struts HTML taglib, but the Struts team didn't have any interest in it. So, originally I release it as part of the Struts SourceForge project, and then later spun it off into its own thing (completely independant of Struts now). So, don't be afraid to fork code, or start your own project on SourceForge or Google Code or somewhere like that.

    The other key point to remember is that any open-source work you do should be for YOU first and foremost. Don't just do something for the sake of being involved, do it because it interests you, because it "scratches an itch" for you. If something if useful to you, it tends to be useful to others.

    At the end of the day though, don't be shy! Ask questions, submit patches, take some baby steps and get your feet wet. Yes, there's a lot to learn, and yes it can seem overwhelming at first, but I guarantee you'll pick things up pretty quickly once you get into it. The two projects I mentioned are always accepting contributions, so feel free to stop by, join the mailing lists and get rolling!

    --
    If a pion (n-) collides with a proton in the woods & noone is there to hear it, does lamdba decay into the source pa
  87. Document by xenocide2 · · Score: 1

    It's probably too late for my comment to be highly moderated, but really, if you want to be involved in a large and existing project, you have two choices. The first one is to fix bugs. The second way is to write documentation. Some people suggest TODO lists, but those are usually the hard parts that developers intentionally put off until there's nothing else they can feasibly do. What you really want is experience going through the motions of finding code, reading it, evaluating it, suggesting an improvement and following through.

    If you're a linux user for some time, I hope you've become accustomed to the practice of filing bugs with your distribution. Pick one that annoys you and decide to fix it. This is a very common way for a user to become a developer: fixing the problems that are important to them. That you haven't done this yet suggests you don't have such a pet bug. Trying to fix someone else's bug is usually painful. First you have to be able to duplicate the problem, then make sure it's a problem with the code, that it's not fixed in CVS, etc.

    This is why I suggest that you write or verify documentation, especially man pages. There's numerous advantages to this approach:
    * man pages have a standard format that you can learn and follow to guide you
    * man pages are a standard tool everyone else uses to find information
    * it demonstrates your ability to communicate eloquently in written language
    * it requires you to read source code and become familiar with a lot of the body of the code
    * your contribution will not be limited by your ability to understand obscure coding mistakes or hardware interactions you can't reproduce
    * there are far fewer people writing documentation than fixing bugs
    * using the revision history to determine when a feature was added is far simpler than determining when a bug was introduced
    * if there's a crazy build system, you won't be required to figure it out, though it would make sense to so you can write about it ;)

    Because you've taking a holistic approach to contributing, you'll be one of the few contributers who knows the whole source code. And you'll know so much of functionality that determining which reported bugs are configuration errors versus genuine bugs in code will be easier.

    --
    I Browse at +4 Flamebait

    Open Source Sysadmin

  88. you're going about this wrong by sentientbrendan · · Score: 1

    if you want to work on a c++ project, you need to sit down and learn c++ first. You've said you've only written a few lines of code. You just aren't ready to work on a large project right now in c or c++, or java. You could work on a smaller project maybe, but you might be best off writing tools and going through the learning process first.

    First, I'd look for projects that use skills you already have, and build on those. There are open source projects in c# if that's one of the .NET languages you've used. There's probably even open source projects in visual basic .NET, although I suspect a lot fewer.

    Also, generally, as a developer you should have a number of tools available to you. At some point you should probably learn c, as a ridiculous number of projects use that language (even many projects where it is arguably not the best choice). Don't bother learning c++ until you've mastered ANSI c unless you need c++ for a job or something. C projects are far more common in the open source world than c++ projects.

    Also, if you're more comfortable in higher level languages, you might consider java or python. Both are widely used in open source and commercial settings. Python especially is easy to learn quickly and use to produce something.

    It sucks not having any mentors around, but remember that many people teach themselves most of this stuff, and that books and the internet are good resources. If you have difficult technical questions, the best place to ask them is probably a mailing list (for libraries) or usenet group (for languages).

    The main thing to remember is to keep learning stuff and not to be satisfied with whatever training your college gave you. It sounds like your particular college was training people to use a specific tool chain to do a job, but as a developer you need to be able to learn how to use whatever tools are available. It's more valuable to just have really good problem solving skills, and a good understanding of computers.

  89. mailing lists by earlymon · · Score: 1

    Perhaps you've partially answered your own question -

    Try putting in your sig the following (as you see fit) for anyplace you care to participate:

    "I'm an Indian grad student whose CS teachers run away at the mention of Linux. Any assistance or advice on how to mesh with this group is most appreciated. I want to contribute and need help getting started."

    Ignore anyone who criticizes you for this - anyone who can't recall their beginnings is a lost cause, and to be avoided.

    It's about contributing, not power or prestige. You'll find your home. Best luck, and hope this helps!

    --
    Pathological kinda promises Path + Logical - but instead, you get stuck with pathetic.
  90. Start Your Own by Bigg+Matt · · Score: 1

    If you want to improve your skills, just start writing small programs that do the things you want them too. Put them up on a page, doesn't have to be fancy. To a business person, and even some IT, it looks amazing that your even doing it.

  91. Re:Well get the name right to start with: GNU by julipan · · Score: 1

    It's only Debian that caved into Stallman's desire to rename Linux for his own glory. Like most Free Software advocates, Stallman asks that the operating system is called by its technically correct name, GNU (or rather GNU/Linux for the added benefit of general familiarity with the Linux trademark). This is not for RMS' own glory (after all he didn't call it Stallmanix), but to lead the curious to the GNU philosophy instead of websites promoting "Linux" for its technical superiority. It is a matter of association; the GNU project was initiated to ensure anyone could use a computer without resorting to proprietary software, while the Linux kernel was made for fun and experimentation and just happened to fill the remaining major gap in an otherwise complete operating system by the name of GNU.

    Insisting people use the name GNU/Linux is what best serves Stallmans cause; promoting the idea that Free Software is benefitial to society, whereas proprietary software is not.

    A lot of books on GNU/Linux acknowledge that GNU is the technically correct name for the operating system, but that they choose to use the more known term "Linux" to avoid confusion. I'm all for avoiding confusion, but believe this is a simplification that only makes things more confusing for the uninitiated. While "what is GNU?" is easy to answer, "what is Linux?" will bring a multitude of more or less contradicting answers because the term is being used so generally.
    --
    I'm not like other individualists.
  92. Projects are worked on, not joined by Havoc+Pennington · · Score: 1

    My standard advice: http://ometer.com/hacking.html

    Anyway, you don't join a project - there's no membership list, and there's nobody who will tell you do this or do that or whatever.

    What you do is get on the forums (usually mailing lists, IRC, and bug tracker), start following the discussions, and help out where help appears to be needed. That's it.

    If you wait for hand-holding or permission you won't get anything done. You have to be persistent and just start doing stuff.

  93. Developers *are* the users by Rix · · Score: 1

    Non developers never use kernel interfaces. You have an API, work within it unless you absolutely can't. Simple coding style is not justification to make changes in the kernel which may silently cause bugs for thousands or millions of people.

    Elitism is not always a bad thing.

  94. Indictrans group by kanhaiya · · Score: 1

    Hi, We group of 7-8 graduates working on FOSS(Free and Open source) from last 3 years. We mainly work for spreading digital divide. we had done many e-gov projects freely. if you want to work on free and open source projects and live projects, you can join us. we love FOSS things.If you want to work with us, then you can contact us on my email-id i.e kanhaiya.kale@gmail.com or you can give me ring on 09970059663. Best Regards,

  95. Re:Bob Gotse is the future of Open Sores by lordtoran · · Score: 1

    I'm afraid I have to throw some actual facts into this perky troll-vs-troll thread: Kernel Comparison: Linux (2.6.21) versus Windows (Vista)

    --
    Want to hear the voice of GOD? cat /boot/vmlinuz > /dev/dsp
  96. that's not the technically correct name by r00t · · Score: 1

    Says who? Linus himself has said that the whole GNU/Linux thing is stupid, and the Lignux thing before that.

    People gathered around Linus to make an OS. An FTP admin in Finland chose the name.

    I guess it was a mistake to use Stallman's trivial little tools. (and they really were trivial, even gcc, until the Linux people started supplying fixes) Who'd have thought back in 1991 that he'd try to take over, crowning himself King?

    The kernel is the central part of the OS. Everything else just got dragged in bit by bit, most of it NOT from Stallman's gang.

  97. Re:NO! DON'T DO THAT! by capsteve · · Score: 1

    note: the parent sage advice comes from AC.

      pick a project you can appreciate; one that will you use regularly, here's a few suggestion: network filesharing, content management system, firewall, i.e. samba, netatalk, geeklog, joomla, smoothwall, m0n0wall. if you don't have coding skills, but you have writing skills, help out with documentation. or grpahics. you're a coder? maybe you can help in the code auditing process. there are plenty of good existing projects out there, you don't need to reinvent the wheel. by the way, expect that as a new comer to any project, just volunteering will not be recieved with a standing ovation: prove you worth first by fixing/contributing even if it's answering forum questions. you're actions will get noticed. good luck m8.

    --
    three can keep a secret, if two are dead - benjamin franklin
  98. Become a TiddlyWiki programmer by randomibis · · Score: 1

    It's a very nice opensource project. It's easy to get started. You can write code in javascript. The community is friendly and small. There are many areas needing work. Check out: http://groups.google.com/groups/TiddlyWiki http://groups.google.com/groups/TiddlyWikiDev http://trac.tiddlywiki.org/

  99. Use Force::Luke by LightDruid · · Score: 1
    Check http://dice.com/ enter your favorite (desired) language and skills and take a look at the trends, use http://www.indeed.com/jobtrends to analyze this trends in depth (well, in ``depth'').

    Go to berlios.de, sf.net and check "Help wanted" section. Find an correlation between trends at job market, your goals and project which are currently looking for developers, choose right one.

    Enjoy.

  100. Re:Read the TODO list - then build a sample app by twoeggs · · Score: 1

    Many projects suffer more from lack of good sample or reference applications than good features. If you want to get attention, show people how to use a technology in a way they haven't thought of before. For example, one of the real accelerators for Ruby on Rails has been the success of BaseCamp, which is a really good sample application for RoR. In our project http://sourceforge.net/projects/activegrid/, we have posted a number of ToDos related not just to features but to providing examples of how to use the features http://dev.activegrid.com/community/?q=node/179 To misquote, a sample is worth a thousand features ;-)