Open Source as Programming Exp. for College Students? 420
texatut asks: "With the computer industry in a slump, many college CS students nearing graduation are looking at pretty meek prospects. While 'formally' educated, few actually have concrete experience dealing with development of software. Many would like to have something concrete to put down on their resume or application to graduate school. However, starting their own project is a hard and time-consuming task. Obviously, the Open Source community is a perfect place for us to get our hands dirty. My question is, are there any resources that can help people with varying levels of experience connect with development teams in a way that would benefit both the project and the students?"
Check sourceforge (Score:4, Insightful)
Re:Check sourceforge (Score:5, Insightful)
It's true that working on an OSS project may give you experience in the actual work of software development in that you will be producing code, vary few of the software development skills msot companies look for are really developed or evaluated in the OSS world, unless you think a hiring manager at any company would actually be influenced by your code-fu rating as listed on SourceForge or Avogado. While in the strictest sense it may allow one to sharpen one's coding skills, I seriourly doubt whether it would significantly effect a hiring decision at any large company. On the other hand, if you want to start building up a consulting business it could never hurt to say you were a lead developer on OSS projects A, B, and C.
--CTH
Re:Check sourceforge (Score:3, Insightful)
Re:Check sourceforge (Score:2)
Companies always are looking for coders that can actually make things work, and unfortunately a cs degree does not guarantee that. Then again I do not work at a huge company, nor have I any wish to.
Re:Check sourceforge (Score:2, Interesting)
Working on an open source project would probably allow the graduate to get a lot of useful nuts and bolts experience, but that is not something that they could put on a resume that anyone would care about (unless they were going to work at Red Hat).
Re:Check sourceforge (Score:2)
However, on the other side of that, open source experience can be very valuable when seeking off-site, outsource development work. When I am looking for people to hire for that kind of work, is it *extremely* useful for them to have some code they can show me (open source!) so I can see what kind of code they write. If I am comparing developer A and developer B, and A says he wrote some great stuff but can't show me a line of it, and B says I can go look at his code, it's a lot easier to hire B.
Re:Check sourceforge (Score:2)
Re:Check sourceforge (Score:2)
Re:Check sourceforge (Score:2)
Isn't that what Sourceforge is for? (Score:2, Informative)
However, my advice in these troubled times is to continue having Ma and Pa keep footing the bill for education and get a Master's degree. When the tech slump ends, the student will be that much better off with more experience than he could shake a stick at. Another bonus is that his starting salary will likely be higher than a fresh recruit's.
Re:Isn't that what Sourceforge is for? (Score:2)
Plenty of possibilities (Score:2, Insightful)
Most projects would love to see more help--simply find lead developers or maintainers and say hello. Or send a message to the project mailing list and ask about projects, suggestions, etc.
There are always features that have sat on the back burner, code to be cleaned up, etc. And of course I can tell you that as an undergrad, you often have more time to code.
-Geoff
Re:Plenty of possibilities (Score:2, Insightful)
When I was out hiring for our last open position at work (it's filled now ... don't send me email) I had been hoping to find someone with experience on an OSS project. That actually would have been my ideal, as I believe this offers real-life experience in a way that lets you dip your toes into the water on your own time.
But alas, that didn't happen. Maybe next time I need to do hiring...
If you want a suggestion, I would recommend helping out the FreeDOS Project [freedos.org]. The FreeDOS Documentation Project [sourceforge.net] (FD-DOC) lists a few of these suggestions [sourceforge.net] for helping out with FreeDOS:
- Take any of the open projects on the FreeDOS Software List [freedos.org].
- Contribute to FreeCOM (our command.com) or the FreeDOS kernel. It's not as hard as you would think, especially if you start small by applying some bug fixes.
- Apply some contributed patches to Freemacs (a GNU emacs clone for DOS). The patches are already there .. you just need to apply them. This should be fairly easy!
- Patch an existing program to use Cats [freedos.org] or MSGLIB to support internationalization. It's not hard .. just read through the docs and you'll be fine.
There are other things, too, but if you are looking for suggestions these should get you on your way. I'm sure that any sane employer will look on this as valuable experience, as you will have demonstrated the ability to work with others on a project, and contribute to the code.
sourceforge and freshmeat (Score:2)
Rarely do you find stuff there that isn't in need of some kind of help. Sometimes, all they need a a little design/analysis work, sometimes they have modules to code. Check it out, you might just make someone's day.
Re:sourceforge and freshmeat (Score:4, Informative)
Talk about really making the project lead's day, as for a prioritized bug list and get cracking on that.
Not just experience (Score:5, Insightful)
might be useful to work on large projects then (Score:2)
Re:Not just experience (Score:2, Interesting)
Coding one's own app from start to finish entails design, project management, coding, testing, quality assurance, etc. One person must play the part of an entire team. Programmers tend to be geek-inclined, therefore of higher-than-average intelligence. Take this highly proficient programmer and plop them in the middle of a group.
All of a sudden, the programmer who is used to overseeing their own projects from conceptualization to realization, they're plopped down in an environment where they either have to learn to "put up or shut up". The project managers are in charge of how things are done, and for a "new monkey" in the pack of typing monkeys, it's hard to make your voice heard no matter if you're right or not. FRUSTRATION.
For those who 'play well with others', making the leap into this environment of "distributed responsibility" won't be a difficult transition. However, geeks tend not to fit into this category. Can you name one single geek who is perfectly content to exist within an environment that must remind many of the whole "How many monkeys with how many typewriters..." question?
Hiring new grads of any "group" is a hard call to make, when the new grads consist of a group that is largely different than the majority of the population (ie: geeks) it's an even more difficult decision. Let's face it, we're a highly opinionated/unusual group and it's reassuring for employers to see past work experience on our resumes. That way they at least feel prepared when we start getting into battles with the project manager about releasing software labled as version 9 when it is really more along the lines of
No one wants the responsibility of breaking the news that this is a flawed world we live in, and that sometimes, yes. Sometimes we must use a WYSIWYG editor.
-Sara
Re:Not just experience (Score:2)
Go ahead, mod me down. It's true though...
-Russ
Senior Design (Score:3, Insightful)
Many professors will let you work on O.S. projects if you find one than can be completed in the alloted time, and if it's relevant to some of your other coursework. Of course, this depends greatly on the professor, but you'll never know if you don't ask.
Academic Research (Score:3, Insightful)
Although, not all students will get positions on research staff, and it usually doesn't pay all that great... research staff positions are available at most universities.
Plus, (at the risk of getting flamed) most commercial software companies will give more credence to someone with a research background than to someone who worked on the latest Open Source project.
Re:Academic Research (Score:2)
That's arguable. The case where it is clearly true is where the company is working in a highly technical field that your research is directly relevant to. For example if do a PhD on highly efficient 3D rendering algorithms you will be of great interest to several games companies. If your research is in number theory I know several financial software firms who'd love to talk to you.
But, if you have done research in graphics, you probably aren't going to be interesting to a bank.
A research background will probably make you highly attractive to a very small number of specialized software companies. Good experience on a successful open source project is likely to be more attractive to much larger number of general software development shops.
Finally only take a research position at a university if you really love the subject you are going to be researching. You must have a vocation for this work. Its badly paid, you'll get little recognition and you will need to be very good at what you do. Its not for the faint of heart.
subversive advertising (Score:5, Funny)
"Nah, I've got a better idea, why not post an Ask Slashdot question where the most obvious answer is 'sourceforge'? Like 'where can I find a bunch of open source developers?'"
"Great.. I'll get right on it.."
Too many M$ undergrads.... (Score:2, Interesting)
We tried to get an Open Source Development group together at my school, 5 people showed up. One guys was like, "With Open Source we can go download everyone's source code and resell it for thousands of dollars. Its work free!" Yeah, ummm....I think he kinda missed the boat...
Too many colleges are indebited to M$ and so that mentality is pervasive in Colleges and Universities. I'm sure a good portion of undergradatues across the US (I can guarantee that's the case at my school) haven't ever been to Sourceforge.
Whatever (Score:2)
Secondly, very few universities are indebted to MS. Try backing it up with some facts. I'm certain you'll find that any money MS gives them, in any reasonably arguable form (whether that's free/reduced licensing or what have you), is much less than 1% on average.
Thirdly, you are assuming that anything that is not programming for money == "Open Source." Open source is just one sort of "free" ideology and its not an ideology that everyone happens to agree with. For instance, someone may choose to develop code for a non-profit and/or at a reduced salary since they believe that open source is largely a waste of time. i.e., it's not "all" about the money.
Lastly, the attitude that money is unimportant is generally afforded to the few that have the luxary of not working. Try this when you get out of college and keep it up when you're trying to raise a family, just don't complain to others that it's not fair that you're not making enough money to lead a comfortable life.
Re:Whatever (Score:3, Insightful)
Secondly, before Bill G. came along, software was really NOT motivated by the ideas that open source espouses today (and likes to claim were espoused at that time). Quite the contrary, most of it was developed by companies for profit to sell or bundle with their own machines. It was about money from the start. The reason it changed from relatively unrestrictive / complimentary / free is because the nature of the industry changed, not because of a real change in mindset. These companies didn't sell the software or protect it as it is today because they simply saw software as a means to sell hardware. In other words, the entire notion of developing software for its own sake really did NOT exist at that time. The nature of the industry allowed for them to do this, or rather, it was more economical to not worry about protecting their intellectual property when the nature of the industry has its own built in protections and when the software was itself relatively trivial.
The point is that you can no more blame (or credit) Bill Gates for this shift than you can for the Moon rising. It was inevitable. As computers became more and more common and accessible and programs became less and less trivial the method for creating, distributing, and protecting the software HAD to change. Bill Gates just had enough wit about him to catch the wave before most others did [My dislike for Bill Gates and Microsoft is for entirely different reasons.]
I've done this kind of mentorship (Score:5, Informative)
While my site (db.etree.org) is not (all) open source, I have mentored a student (hey Eric) while he developed code now used on my site.
His school assignment was designing and implementing something from start to finish. He asked to work on top of the work (adding new code) I had done as his project. I hooked him up with a shell and CVS and we had quite a few phone conversations where (I hope) I taught him quite a bit.
We both benefited from the relationship in the end. Eric contacted me directly with a plan to enhance my site. This method worked very well for us...that is, someone looking for experience came up with a plan for an existing project and asked to do itand, in return, I mentored him.
Here's where to start. (Score:2, Insightful)
here [unmaintain...ftware.org] would be a great place to begin.
Could look great on your CV and benefit the OS community as a whole.
bah (Score:2)
Re:bah (Score:2)
umm, the economy is cyclical.
That means that in a year or two things will be different. True, things could get worse... though I doubt it. We're suffering from deflated exuberance caused by a lot of VC being placed behind shoddy business plans, combined with the psychological impact of Shrubya's comments right around the election "We're going to have a recession", topped off with the effects of a major terrorism strike.
Most of the unfit companies have closed their doors, but some of the stronger ones have survived and have diversified their business plans to make them stronger. W has come around and said that we're having a recovery. Finally - we've routed the Taliban out of Afghanistan, and unless they've massively reorganized in another part of the world, I doubt that we'll see many more large terrorism strikes that catch us by surprise. We're on guard now.
The big uncertainties are whether or not W will decide to invade Iraq to finish the job his daddy didn't finish, and whether the rest of the world gets pissed at the US for it, on top of snubbing the Kyoto and ABM treaties.
Do I need to spell it out further? Right now there aren't many tech jobs out there. If you don't have a job you essentially have 2 more choices:
I don't know about you, but I love working with computers, and want to continue doing so. Do you think that Olympic athletes give up skiing just because they're no snow outside?
Capitalize on what you know (Score:2, Interesting)
Others will suggest starting with sourceforge, but in my experience a young coder doesn't want to pick somebody else's ideas and run with them s/he wants to find a way to test out new ideas and see if they'll work. Avoid isolation, try to find a team that has an agenda but permits arguments and discussion. Open source is a must, because you're always free to veer off on your own development tree if your ideas diverge from or are preempted by the requirements of the project.
Do the modalities mix? (Score:2)
So, would this be useful, or would it end up throwing a lot of buggy, fragile patches at software and overwhelming the lead developers?
My advice (Score:2)
2) Abstract coding, that means try to learn/develop/help projects that are root of others. Like engines, classes, libraries. I know this somehow conflicts with number one but you must find the balance;
3) Do it right. Document, comment, test. No half steps please;
4) 'In-loco' development. Try to get a job in any company. Meet the managers to learn how to overcome this difficult part of our lives;
5) Share with other students. Recentely (er... 90 and above) developing an app has become more and more a team activity;
6) Block Slashdot's webpage access;
7) Write useful stuff, for you daily activites. Like a tool to perform any desirable action at the school network, to administer your books, to share knowledge better (Personally I would love somekind of P2P Knowledge-tree sharing system);
Well, that's it for now.
View from the "other side" (Score:5, Interesting)
It is a very difficult market for engineers. There are far fewer companies than there were 24 months ago and those that remain have cut hiring right back. When I can hire I get flooded with applications, many of which are from people with a lot of relevant experience. A newly minted graduate is going to come up short against someone who has been building commercial software for 5-10 years.
Getting on a successful open source project and showing you can make a real contribution is going to help you stand out from the crowd. Choose your project wisely - if you want to be an operting system engineer then getting on board with one of the core Linux projects will be much more impressive than building yet another Quake level editor, and vice versa. You'll need to have people on the project who can vouch for you and the contributions you have made. The higher the profile the project and reference it provides you the better: having Linus tell me what a great job you did on the kernel extensions you built will help you a lot.
Bear in mind that to really make an impact on a substantive project, whether its commercial or open source, is going to take a while. Spending a week adding a couple of printlns isn't going to cut it.
Be aware that a good commercial software engineer has more than just technical skills. You need to be able to work under pressure, to a deadline and in a team. Just being a great hacker isn't enough. Use your time to demonstrate that you have these skills in addition to your coding abilities. One of the disadvantages of an open source project is that many (not all) of them aren't run with the degree of close teamwork and tight deadlines that are the staple of commercial software development. And of course, the one's that have established teams working on them may be the hardest for a newbie programmer to get into.
Yes, its rather Catch-22, but it takes a while to build up the reputation that will carry you into the better companies, roles and projects.
Re:View from the "other side" (Score:2)
Hiring decisions.. (Score:2)
Working on a large free-source project would probably be very good experience. However, working on your own can also push your boundaries. I suggest doing both. Best of all is to get a co-op or internship at a real software company.
In an interview I would ask you specific programming questions which should be simple and obvious for you. If you pass that, I will ask you more difficult obsure questions that will (hopefully) require you to think on your feet. Failure to pass this interview will not get you hired no matter how good your resume looks. If you pass with 'flying colors', you will be hired no matter how skimpy your experience.
Not Something to Put On the Resume (Score:2)
Re:Not Something to Put On the Resume (Score:2)
Yup. Look at this guy [astroarchive.com]. I just hope he isn't a hiring manager!
Don't you have school projects? (Score:2)
Make sure you have the design documentation, QA test plans, etc, when you show it to potential employer. And make sure that you write pretty code (ie. readable code), and good comments. Yeah, and put your name as the main coder in the source code, if you are the main coder. Also make sure you know how the program works internally, and know how to explain. I got my first job by showing the source code of a JPEG compression/decompression program (it was a solo project) I wrote. The manager liked my "clean" coding style.
When I graduated, the only people who got a job were: those who can code and explain in clear terms the projects they were working on, and those who are straight-A students (even if they were not very good coders). The first kind got jobs at small companies, and the second went to big companies where they spent the next 6 months in training.
Everyone else in between didn't get a job.
I was good student but not straigt-A, and I went to a small company. The first day there, I was assigned a desk, and a pile of PC components on it, plus a pile of floppies containing the OS and dev tools. In the afternoon, the manager came to ask how was my development environment setup (I mean, the RCS/CVS and shell scripts part, not the hardware assembly and OS installation). One of my classmate went to IBM. When we met 9 months later, he was still in training, and had not wrote a single line of code yet.
At our school, there was a joke running around, stating that if you don't know how to code, you go to graduate school.
Re:Don't you have school projects? (Score:2)
My own pointers. (Score:5, Insightful)
I've been on both sides of the software company interview table, and I've dabbled in open source (produced a few patches and some documentation for the LML33 video capture card project).
Things the interviewer wants to see:
This is the difference between someone who knows how to code and someone who's just been slogging through coursework. Have a couple of pet projects to talk about, even if they aren't that fancy. Bring a disk with code and executables for extra credit.
This shows that you can follow directions and cooperate with others. Your Software Engineering course project got your feet wet with this. Go join an open source project with more than one member, and get a patch accepted.
This shows that not only can you work in a team, but the supervisor trusts you enough to put you in charge of people. If you've done this, it's a big bonus. A letter of reference is *vital* for this, though.
Any time you're a part of a team, get your supervisor to write you a letter of reference saying that you worked there and that they were satisfied with your performance. Anything above that is a bonus for you. The letter must contain contact info for the supervisor and the company/OS project/whatever you worked for [so the interviewer can track these people down].
Get these letters *before* you leave the project. Ideally just after you've finished doing something substantial. Letters keep well - and it's a lot easier to get them midway through your tenure than a few months after you've left.
Between all of the above, you'll show that you actually know how to use what you've been taught in school, and that you can work with others, and that you did a good enough job that people don't mind giving you a recommendation.
Tips on projects to pick:
This is a no-brainer. You're not going to be enthusiastic about something you don't care about.
If you aren't at least somewhat familiar with the kind of work being done in the project, you'll do more harm than good. If the project deals with a cool subject you'd like to learn about - spend a couple of months learning about it and writing your own toy projects before jumping in and helping. Your future teammates will thank you.
Most projects that are in the "idea" stage or that are just skeletons, stay at that stage. Grab a project that's already moving.
This helps reduce the effect of personality clashes, and has enough people present that there's a team to show teamwork with (that's what the employer wants to see).
If it's a small team, you can make a difference, and so you're more likely to get a letter of reference if you do a good job. A large team probably won't care, and may not even remember what you actually did. Either way, it'll be harder to squeeze a letter out of them.
You need to know what's going on in the project, who the people involved are, and what they're like. Sign up to the project's mailing list (any worthwhile project will have one), and read quietly for a month or so. After the first couple of weeks, maybe try asking an intelligent question or two. *Then* offer to help, if you still want to join this group.
This is time-consuming, but you can be browsing several mailing lists in parallel. Make sure you save the messages for future reference.
Both of these make some developer's life easier, and they'll thank you for it. If you're good at finding bugs or writing up how code works, do so, and make sure you're thanked in writing.
If your documentation is decent, your name will live on for as long as that documentation is valid (I got LML33 questions for months after leaving the project).
Follow these pointers, and browse freshmeat and sourceforge industriously, and you should find a worthwhile project that you enjoy.
Good luck.
Why I'd ask for a disk. (Score:2)
I absolutely hate this. As an interviewer, I always feel like the person is trying too hard.
I only have 1/2 to 1 hour to talk to somebody. Looking at code breaks the flow of the interview and I find it annoying as all get-out.
I'd rather the person explain to me what they did, is receptive to questions, isn't evasive and isn't a dick during the interview.
But source code? Naaah, I think not.
I'm not asking for printouts of source code at the interview - I just want it on the disk. I want it for the same reason that I'd ask for letters of reference and proper contact info on resume references - so that if I do put this person on my short list, I can check to make sure they weren't BSing about what they'd worked on.
I don't have a computer handy when interviewing
Internship (Score:2)
It's a big plus to me when someone I interview has demonstrated that in addition to being able to code, yes, they can exist in the 9-to-5 flourescent light world without losing their mind. Not everyone can.
Mozilla and Netscape (Score:2)
If you think about it, it's a no-brainer from Netscape's point of view. They get a chance to hire people who are pretty much known quantities, who already know most of the codebase they'll be working with, and who for whatever reason are interested and motivated to work on Mozilla.
Things might change if Mozilla gets flooded with "wannajob" people of course... hasn't happened yet.
I would suggest ... (Score:3, Funny)
get a real job. I would suggest
Get some real coding experience, preferably paid, but volunteer if needed. People pay more attention to paid experience. Nothing wrong with open source for experience (its just another form of volunteer work), biggest problem compared to other vol. work suggested below is that it does not have a local presence, but it tends to use more hot skills than some of the local work.
Call local software companies and and if you can have any fixed-bid job that can be done off-site, and do a good job on them, including being done on time.
Volunteer some programming work for the church, or the local youth center, or whatever you prefer -- just make sure it's real programming experience. Do a good job, and have that person vouch for your work. Some volunteer organizations are run by people with lots of solid business contacts.
Join some local programming user-groups to match your interests. There is likely to be Linux, Windows, Java, C, Delphi, etc. groups in your area. Volunteer to help, make presentations, etc. Make contacts with these people.
More generally
Be flexible, if the job involves knocking off some VB screens, do it well. The boss remembers that you did a good job, more than he remembers you did a good job with some VB screens.
Learn more and work harder and faster than the next guy. Listen more than you talk.
Be friendly. Brush you teeth. Use mouthwash if necessary. Take regular showers. Wear clean clothes without holes.
Use common sense.
What you're taught vs. what you learn (Score:2)
Students come to me all the time in their senior year telling me that they don't know how to do anything and don't know what they should do for a job.
The reality is that they do know _how_ to do a great many things, but we don't have time practice all of them in the structured environment of a course. There's so much for an engineering student to learn to prepare them for employment. Most employers will take a new student and provide additional training in the specific area that they'll work in and it's our job to make sure that they have a good foundation to add to. (Training has been less common in the computer field the last few years compared to Civil, Mechanical, etc. but my guess is that'll swing around pretty quick here.)
The best thing for students to do is to take the initiative (that's important right there) to use their summers and free time to pursue internships, or participate in projects like open-source ones or maybe volunteer on a public service project.
What we cannot reproduce in an academic environment is the real-world. (We can on a small scale, but not for 2,000-40,000 students...) Students need to understand that the diploma is NOT the whole package, just a typical element of the package.
Re:What you're taught vs. what you learn (Score:2)
A lot of the time, my coworkers come up to my office and see what I am doing, and ask me what it has to do with anything we are working on. Sometimes it doesn't, not right away. Then in a few weeks when I pull off something amazing, they never can figure out how I do it.
There are two types of people, the ones that work for themselves, the ones that work constantly to increase the stock in their "personal toolbox" and the kind that just figure out how to do the job at hand. IMO, the former has a much better chance at really getting things done, and usually higher education is a total waste of time for those types. Me included.
Re:What you're taught vs. what you learn (Score:2)
Those who do develop their "personal toolbox" are IMO showing a more long-term mentality. Those who are completely absorbed by immediate goals are on a treadmill of sorts, and they miss out on a lot of important stuff, because it isn't "on the exam".
However, I dispute your contention that higher education is a "waste of time" for self-motivators. A good school will facilitate independent thinking, not stifle it.
databases and scripting (Score:2)
Have a web page with your resume and a list of projects you've worked on and examples of your programming. Pick some of your best work.. something of decent size and complexity that's implemented well.. and include it as a tar/gzip file when you submit your resume. Doing so greatly increases responses.
Difference between open source and real work (Score:5, Interesting)
But that didn't make me more productive. Working on a team in a production environment is very different than just programming on your own. I have always been told to leave Open Source stuff off of my resume. That doesn't mean you can't use it to refine your skills. I learned most of what I know on my own.
Now, by the same token, most college curriculums suck as far as CS is concerned. Realize that if you only rely on college to teach you how to program, your essentially going to an employer without knowing how to program.
I don't want to discourage OS programming, but do not do it with the expectation of having it help you get a better job. Do it because you either believe if in or because you really enjoy it. The last thing the OS community really needs are people who are just looking for resume builders (especially ones with little useful experience). If your really concerned about getting a job, get a co-op or internship.
You can learn loads just by reading the code (Score:2, Insightful)
Books and professors never seem to teach you about ideas for debug, error handling, build systems, using profiling tools etc. Also, by dipping into lots of projects you can get a feel for what's good and what works for different situations, much quicker than the usual company where you'll tend to stick to the same tools and systems, not to mention a small pool of opinions.
The environment / requirements of your software will no doubt be changing quickly so you need to keep getting wider experience than your job generally gives you.
Internships (Score:2)
I've had interns use me as references to get jobs plenty of times. Mainly it takes a little effort on the employers part, but several of the companies I work with have similiar programs... It's merely a matter of students contacting us and asking for free training in exchange for helping out.
Keep in mind that there are a lot of small computer companies out there, even now... We've had our incomes cut because it's been hard to sell with the internet crash and then 911. Most of us know what it's like to be at the bottom and are willing to help give experience.
Keep in mind as well, going to work on an OSS project is just as valid to most of the computer programming firms I know. It probably won't help getting you a job at Big Blue, ATT or any other fortune 500 company, however most software companies are not that big and while a cvs/resume gets you a chance to be heard, pulling out a software package that you helped to produce can blow anything else away.
Lando
Jump on in! (Score:2, Interesting)
Mozilla has had some exiciting work done by students (including one high school student who is 15 years old who interned at Netscape last summer) and http://www.mozilla.org/school shows that open-source as an assignment really does work.
Instead of wasting time with small example programs, simply getting involved with a project and keeping a record of what you do may be one of the best ways to really learn about software development. I am the Quality Assurence Contact for 3 components and the Owner for 2 in mozilla.org and I am able to communicate with other developers around the globe on irc.
So come on in and join the pool, many opensource projects are standing by for your patches!
Um... how about.... (Score:2)
I know the original comment didn't intend to ask, "We are lazy, what can we do that is easy but looks good?" But this is something I run into SOOOOO often, it's crazy. I have many hobbies. I take 3D photos. I render scenes in POV-Ray. I build robots and various other gadgets, etc etc. And you know what the first question is that I hear, whenever I show these to people? They say, "COOL!!" Followed by, "What class is this for?" To which I reply.. "Umm... it's... for fun." Seems to be a concept few people understand. (Although lately I've resorted to saying, "It's for the Robotics Club", which seems to make it all "normal" again in most peoples' eyes. They no longer question the fact that I'm doing work because I want to, because I enjoy it immensely. Good thing I never mention that I founded the club. They'd never understand that.)
Again, no disrespect meant to anybody. I just find it a bit odd that here I am, a Junior in college, and any time I do anything fun (or hard), it's immediately assumed that I'm doing it for credit. How about finding something you love to do, and WORKING YOUR BUTT OFF ON IT, and putting THAT on your resume? (Says the guy who'll probably NEVER find a career.. ;)
Re:Um... how about.... (Score:2)
Sorry if this message was rude, I just don't see the relevance of what you said.
Re:Um... how about.... (Score:2)
Holy crap... (Score:2)
Open research forums. (Score:3, Insightful)
As I approached completion of my undergraduate degree, I was lucky enough to get a graduate student level internship at NASA. While I was there, I learned that I could make important contributions by applying the theory I had learned in school; essentially doing graduate level research while still an undergraduate. Speculating that there were others out there like me, I came up with the idea that we could come together to form a online research society. The society would differ from the open source community in that it would be based around a process. People would submit proposals, contributors would then offer resources for implementing the proposal, and the project would start when it had enough resources. The only constraints on the project proposal would be that it describes its goals, the process it will use to acheive these goals, and that it would have a deadline. The society would track proposal status and require a postmortem at the end of the project duration. This system is somewhat similar to the (failed) commercial ventures CoSource and SourceXchange, but would be not-for-profit.
While I understand that such a system is hardly any kind of substitute for a "real" job, the research would be public, and citation of such material would be valid resume fodder. Of course, you could be lazy like me and look for work in your school. What started my resume was not the internship at NASA, but work I did for a professor, namely C++/Win32 application development at $6/hr!
Save the Wild Thoughts and Ideas! -wildideas.org [wildideas.org]
-smirk
P.S. I just checked the link to find it didn't work anymore...then I found out that I had let my name registration lapse! If the above link doesn't work, wait for the DNS change to propigate. Thx.We're doing this (Score:2, Interesting)
Luke
Yee ha! (Score:5, Insightful)
* I regularly evaluate candidates for employment in a disciplined software development environment.
* I fully support Open Source Software.
That being said, the open source code that I have reviewed has been of low quality in the areas that I look for in evaluating candidates, including:
* strong OO principles
* rigorous design
* excellent documentation
The few open source projects that I have tried to contribute to (freenet being one) actually scoffed at these points, claiming them to be the stuff of over-educated highbrows, stuffed-shirt engineer etc.
If that is the culture of open source software, then so be it. However, in the world of commercial software development, these are very real, very important requirements. The best hacker is useless if he creates an unmaintainable system.
The point is that, from my experience, OSS projects and commercial development are two very different environments (granted, many commercially-developed codebases are poorly engineered, hackfully constructed and are devoid of documentation). OSS projects will get you acclimated to integrated your work with that of other developers', but may also indoctrinate you in an unrealistic development environment.
In other words, it produces a lot of cowboys. Don't expect your bazaar approach to be successful in the cathedral.
Re:Yee ha! (Score:2)
* strong OO principles
* rigorous design
* excellent documentation
what exactly do you mean? The person can explain benfits of MI? Knows UML notation? What's "rigorous design"? Design that can be mathematically verified?
In other words, it produces a lot of cowboys. Don't expect your bazaar approach to be successful in the cathedral.
There are plenty of "cowboys" working on proprietary systems. You just don't know, because you cannot examine their code.
In OSS project the source code serves as the main communication medium between developers, it's the only documentation that never goes out of date.
Good software engineers are rare in any environment, but when you find them they can do amazing things.
As far as building "cathedrals" - I'd consider the Linux kernel and the Apache web server as pretty good examples of "cathedrals" built using the "bazaar" style of development. No?
Undergrads do not make good programmers... yet (Score:2)
In my experience (as a college grad and TA) is that you don't really become a Software Engineer until you spend a year or two in the Software Industry.
Place for Open Source Progamming in College (Score:3, Interesting)
Being apart of the Clarkson Open Source Institute can earn you actual credit hours, we have projects that we do for the community and for the school. Linux training and tutorial sessions that provide newbies with a jumpstart into running linux. We also have several software projects underway that will help the campus and Open Source community at large. We provide a CVS server to the campus with tutorials on how to properly use CVS, as well as a central meeting place for recruiters looking for linux talent and others interested in linux in general.
The students here are not doing any of this for money, rather just fun and experience, I have a great time hanging out with the guys programming into the wee hours of the night. You're more than welcome to check out our webpage that explains a little about COSI (Clarkson Open Source Institute) [clarkson.edu]
OSS Project Leads Should Help Students Help Out (Score:3, Interesting)
If you get a bunch of students working on OSS in school, there's a decent chance a few will stay with OSS after they graduate. This is the same concept used by industry to justify summer student employment programmes. And it works. You want to attract top talent to your organization whether you're for profit or not. That should extend to OSS. Why not compete to get the best minds working on your project in the future?
Now that being said, it does require some effort. Having hired summer interns in the past (I run a small IT dept), I am aware that you can't just expect them to be productive when they show up. It requires extra planning and patience. You have to take time to explain how things work in your organization, how they can help and what they need to do. But invariably, this patience is rewarded once they get on their feet and start being productive. Typically these students do the work nobody else wants to do, but having been one myself at one point, I can attest to the enthusiasm with which this work is met. As a student you are starved for real-world work, and working for any organization that isn't school seems exciting.
So I urge project leads to seriously think about how they can encourage students to join their projects.
Open source software is generally negative (Score:2)
Instead of writing free software to gain experience you should use open source software to interact with other programmers who can then get you leads. Most open source projects are created for social value not for software production.
Again, asking the wrong question (Score:2)
One thing I always love about "Ask Slashdot" is that people ask questions who seem to have already made up their mind about the answer. This questioner is no different. A more useful question would have been: I'm a CS undergrad and I'm getting ready to graduate. What weapons do I need in the interview process to land me a job given the current economy? See how that question doesn't presuppose an answer?
I'll answer the question you should have asked, rather than the one you did ask. So, what is important for the job-seeking CS undergrad these days? The first thing would be to find a company that is actually still hiring undergrads. Don't let the fact that some company XYZ was at your college's job fair imply that they are looking to hire you. When I went back to my alma mater in October to assist with the recruiting effort, there were several companies at the job fair who were there basically to save face. Many weren't hiring and were simply collecting resumes which I can only assume went straight to the nearest recycling bin. You're wasting your time pursuing a company like this. If they don't have the budget to hire people, then it doesn't matter how intelligent or skilled you are, you won't be hired there. That said, there are still some companies that are hiring. The key difference is that now they are looking for the absolute cream of the crop. This is opposed to just a few years ago, when software companies were hiring anyone who was remotely qualified.
So what makes you the cream of the crop? Obviously, intelligence and raw ability are very important. If you have shitty grades, you might as well start looking for a job in another field; however, your intellect alone is not going to get you a job.
Experience is also very important. You touched on this with your original question, but I think that you're looking in the wrong place to gain experience. While you can certainly argue that OSS experience is better than no experience, I would say that working on an OSS project doesn't really give you the kind of experience that commercial software firms are looking for. Hiring managers want to see that you've worked in a close knit, team setting; they want to see that you can communicate effectively with your teammates (in both oral and written media); they want to see that you have solid design skills. Basically, they want to see if you have a structured approach to designing, writing, documenting and testing software. In contrast, OSS projects seem to take a more freeform approach which is orthogonal to how commercial firms do business. There are exceptions to be sure, but I think that by and large the majority of OSS projects aren't going to provide you the right kind of experience. A better approach would be to secure an internship or co-op position. Not only do you get some experience in the "cathedral", but you also get your foot in the door for when you do graduate.
Something else to consider is your prospective employer's attitude towards the OSS movement. Some companies are outwardly embracing OSS because they see the business climate as heading that way - basically, an "if you can't beat'em, join'em" attitude. Even if the company is outwardly a supporter of OSS, the individual hiring managers may not be. My former manager was very skittish about OSS, despite the fact that IBM is embracing it with more or less open arms. Here, you have to be able to get a read on the person who is going to be responsible to making you the actual job offer. Feel them out first before you launch into the OSS experience you have.
A passion for the technology is also important. Are you really excited about the field, or did you just pick CS because the monetary prospects looked good at the time? People who are really into technology wear that enthusiasm on their sleeves. It really comes through in an interview, and can make all the difference between otherwise equally qualified applicants. Find some area that you are really excited about an concentrate on it. Have some demos to show in the interview. Interviewers love to have something to back up the resume, and a portfolio CD is a great way to do that.
Work on a cool project, not just OSS (Score:2)
When interviewing candidates, I want to see one major project that they've worked on to which my immediate reaction is, "cool." If they want to write games, saying "I worked on Unreal2" is pretty cool. As a student, you probably can't say that. But a final or independent project you worked on that blows me away is going to get you a job where a 4.0 (5.0 for the MIT crowd) average, good letters of recommendation, and knowing 200 digits of PI will still get you dumped out the door if I don't think you have coding experience.
OSS is appealing to some people, and I support open software development in cases where it has a chance of being superior. But if I'm interviewing you, I don't care what your ethical standing is toward OSS-- I care if you worked on something cool and will help make our product cool, too. So if the choice is making a patch to the Linux kernal, a new GIMP filter, or working on something closed-source (or a personal project) but relevant to what you want to do professionally, ignore the OSS/closed distinction. It matters to you, not your employer, and they're the one making the decision.
-m
Running an open-source project at a University (Score:3, Interesting)
1. To do an open-source project requires 2 semesters (1 year) of work. There just isn't enough time to do something worthwhile in 1 semester. Therefore, to do a project with me, you'd have to agree (in principal) to sign up for two semesters of independent study.
2. In the first 20% of the project, the student would pick a topic area and write a thorough survey about what is available in that area. To save time, i would make available good surveys from previous students (if any). The survey would also contain a proposal for how to write something new and/or innovative in the domain.
There are many tired over-worked areas in computer science, such as real-time OS kernels, or C compilers, etc. To do a project in one of these tired areas, you'd have to present a really honking great idea in the first week or two of the class in order to be able to work on these dead topics. I would have a set of 10 canned idea areas but would not turn to these until the student had failed twice with their own ideas.
2. In the second 30% of the time, student would write a spec and pull together a development environment, including writing any software or hardware tools or developing ideas for any testing tools needed to complete the task.
3. Last 40-50% of the time is devoted to writing the code.
This is sort of what happened with my B.S. thesis in 1984, and it became a pretty successful open source project (the PC/IP multitasking TCP and SMTP).
This is a very hard thing for a faculty member to support because there is a lot of risk in step (1) that the student fails to find something interesting, and becaue of the need to hand out a grade at the end of the first semester, and allowing for the possibility that the student drops out of school, transfers, gets into a car wreck, hates my guts, or whatever, and gives up.
Re:No. (Score:2, Insightful)
Re:No. (Score:2)
Re:What else do that have to do? (Score:2, Insightful)
Now, if I wanted to start my own project, come up with some brilliant idea on my own and work on THAT too, I think i'd get even less sleep...
Re:What else do that have to do? (Score:2)
Are you nuts?
sports, campus activities, signifcant other(s), friends, beer, crazy little stunts to keep life interesting, piano lessons, running
Gee, you're right, you wouldn't have time to write a computer program. You seem to have far less free time than someone with a real job, a house to take care of, kids to take to practices every weeknight and games on Saturday and Sunday and to their friends' houses. If you think dating is time consuming, try marriage. where you live in an apartment or house, NOT surrounded by 200 other 18-22 year olds. Hmm, you're right. No 18-22 year olds here. Just a bunch of neighbor kids. Oh, and I own my house, so there is no landlord to fix everything for me.
I'd love to have the free time I had when I was in school.
Re:Open Source development *IS* a job (Score:2)
>>absolutely NO need for ANY proprietary
>>software in this world.
wow. I wished I lived in your world. It probably rains lollypops and kittens too.
Re:Open Source development *IS* a job (Score:2)
So do I. What say we not limit ourselves and create that world. 'course it won't work if nobody has the guts to try it.
Income from Open Source means Consulting and Services.
Re:Open Source development *IS* a job (Score:5, Interesting)
>>and Services.
in other words, make your software so shitty and unreliable that people need to pay you so they can keep it functioning? And people bitch and moan about MSFT's subscription policies.... this is the same thing.
Here's a real world example:
The last company I worked for, we produced a very high end, specialized application with a limited user base (it is used for doing movie special effects). When we launched a new product recently, it was the work of about 40 developers, working full time for almost 4 years. That doesn't count people writing documentation, QA testers, support staff, the people that clean the toilets, etc etc etc. All told, probably between 150-200 people. So lets *conservatively* estimate the development costs at $15 million (and that is VERY conservative).
Now this work took FOUR YEARS. So when it comes time to release it, we should just give it away and expect and there will 'magically' be money to pay the rent and food for all these people? Cmon already. Should they survive on happy thoughts and good wishes?
This shows the mindset why Eazel was such a beautiful failure. They were paying these developers to produce work and had NO way to generate money.... they didn't even sell t-shirts. Yes it's very altruistic and benefits the community, but sooner or later it's going to flame out because it can't last forever - the money will run out.
If people want to give away their work for free -- more power to them. I write code for a living 9-5. And i also produce open source code after hours that I give away. And that works fine. I don't see any differentiation between giving away code you write and going down and volunteering at your local community center. People can definitely benefit from it, but don't expect that it's going to pay your rent. And don't declare that there is no right/future in charging for your work.
Software costs money to produce - you can't debate that. If you don't want to pay for your software, you're free to use the stuff that people give away and thats good. Same thought process that you don't have to pay for your groceries - you can go to a soup kitchen. Thats all well and good, but you lose the right to complain if you don't like whats provided.
I'll give you an example. We PAY to use Qt for our development. Why? It's an excellent toolkit. Sure we could use gtk for free --- but for the headache that Qt saves me $2000/year is a BARGAIN.
Same with compilers --- the open source crowd loves gcc. Hate to step on any toes but gcc is pretty sucky. Yes it is good for retargeting code, but the performance is terrible. To build the latest release of Qt on Win32 took about 45 minutes. On linux (exact same hardware) took 3-1/2 hours with gcc. Over the course of a year, the $200 we spend on Visual C will more than pay for itself. GCC will be going into the crapper as soon as somebody produces a good fast compiler for linux.
Closed source isn't dying - it's doing very well. Don't be a hypocrite/bigot. There's room (and NEED) for both commercial and free software in this world.
Re:Open Source development *IS* a job (Score:2)
Re:Open Source development *IS* a job (Score:2)
RMS gets all his bills paid by MIT's AI lab. He doesn't make his living from open source in any way, shape or form.
Look at Redhat or any linux distro compony.
How many of those are GAAP profitable? How many aren't 0wned by their VCs?
Basicly, the more mission critical the software, the easier it is to make incomse based on consulting and support.
About the closest anyone's come to this was Cygnus and their commercial support of GCC for various embedded platforms. But even they aren't independent any more, remember? Unless you count contractors who administer sendmail for a living, that doesn't count either.
The only way to make money producing software unless you are providing shrinkwrapped packages is by doing bespoke development. The only people who pay for bespoke development are the ones who can get a competitive advantage from it, and they aren't going to want it to be available to their rivals.
Now, don't get me wrong, open source works for a bunch of stuff, but it's all commodity stuff. You can make a living as a sysadmin on a wholly open source OS, of course, but I don't think you can writing open source software. (Alan Cox doesn't count until Red Hat are sustainably GAAP profitable).
Re:Open Source development *IS* a job (Score:2)
As you said, it's a high-end specialized product. You can do what Stephen King did with his online book. Require the payment in advance, and when you gathered, say, $20 Million release the software as open-source. It's a win-win situation.
Re:Open Source development *IS* a job (Score:2)
Heck, would I buy a book like this? How would I know if it's any good? Stephen King has such a good reputation that he could barely pull it off (and he is probably the best known writer). How could other writers do this? I didn't know I wanted the book 'Java Performance Tuning' before I read a review. I wouldn't have bought it before it was written, cause that would be very risky. Plus, I buy the book when I have a problem, it should be available to me quickly. And given the choice between paying the author to create a new 'vaporware' book in a year and getting a free good-enough version now, what option are most people going to take? The weaker book, so the better one is never written. Your plan just doesn't make sense, it would lead to mediocrity and a lack of choice.
Your plan could be applied to regular products just as well, but history has proven that payment before production only works for services (geared to a specific situation). And people/companies are always trying to get away from them to regular products (barbers gave away to philishaves, performing artists gave away to LP's/CD's/videoclips, specialized applications gave away to spreadsheets, ERP systems, CRM systems, etc). The ideal situation is where the consumer has all the information to make a choice. He knows what he gets at what price and there are few risks. That is best achieved by having a number of products that are already available. A pre-paid service will always be a second choice, people/companies only go for it if there is no acceptable choice available.
Re:Open Source development *IS* a job (Score:3, Interesting)
No, in other words, make your software as beautifully clean and high quality as possible, basing as much as you can on existing Open Source software and extending as needed. You would not believe how many people are paying out the wazoo to keep *proprietary* software functioning. I'm proposing to do a better job on both ends.
The last company I worked for, we produced a very high end, specialized application with a limited user base..
I'm not proposing a solution to every situation. Nor am I talking about building specialized software from the ground up. In your case, however, it still doesn't mean that proprietary code is needed. One option for people (your customers) with specific needs is to form a sorta co-op group to develop the software they would need--in this case, movie effects software. Seeing as how you have a small user base, this is fully possible. It just requires planning and coordination. Why would your customers do this instead of buying proprietary software from whatever company you work for? Because it's cheaper for them if executed correctly. Nothing I'm advocating has anything to do with altruism or making programmers work for nothing. Yes, I fully agree that the Eazel people were a bunch of morons with no business model.
GCC will be going into the crapper as soon as somebody produces a good fast compiler for linux.
I agree that GCC needs work, but it's certainly not going away and I don't think it's quite as bad as you suggest. Qt takes nowhere near 3-1/2 hours to compile with gcc on my machine, and it's just a single-processor 1.4Ghz. Athlon. What matters ultimately, is the performance of the binaries and you nowhere mention this.
There's room (and NEED) for both commercial and free software in this world.
There is only need if people create the need--those people being customers who aren't aware of the possibility to get the software they need for less money by hiring either Open Source consultants or by organizing a sort of co-op. I'm not saying it'll happen tomorrow. But it very well could happen as more Open Source projects reach 'critical mass'
Re:Open Source development *IS* a job (Score:2)
Re:Open Source development *IS* a job (Score:2)
I love open source, I really do. And I think that open source is going to change the world. I love the idea of lots of people can write free code and make it work. But you know what? For every piece of free code that gets made, there is some propriatary code that doesn't.
All these guys running your Open Source revolution all have jobs. Torvalds is at Transmeta, Cox works for Red Hat, etc. But at some point, everybody gets some support from proprietary software (or custom engineering, which more often than not, is proprietary as well), becuase in the end, like all things, it puts food on our table. Fortunately, it also frees many of us up to produce the open source software that you depend on.
Only one guy has managed to live off his ideals of writing free software, and the only way he could do that is to convince the rest of us to support him. I doubt that will work twice.
Re:Open Source development *IS* a job (Score:2)
I'm not at all suggesting living outside the capitalist system. Writing software as a service rather than charging licensing fees makes it a labor market. Labor markets are a far purer form of capitalism than government-enabled monopolies (copyright, etc).
You people need to lose the assumption that OSS must be written apart from ones "day job." It simply isn't true. If you can't get hired this way, strap on a set and be your own boss.
Money from Open Source means Consulting and Services.
Re:Open Source development *IS* a job (Score:2)
Software as a service is fine, but don't expect your clients to let you open-source it. Do you think GE wants you posting the specs to their latest and greatest medical equipment on the internet, for the benefit of their competitors ? Think again. In the service model, you're most likely going to be writing software that is strictly for use in-house, and either not available to customers, or available on an NDA basis.
As for copyright, it's a perfectly fine form of capitalism. Service vs licensing is not an either-or proposition. The different models have different costs and benefits, and both are useful in their own right. Copyright serves well if the work is to be shared among several customers (because it's a workable means for the cost of development to be shared by several parties with little money) and software-as-a-service works well if the work is for exclusive use of a corporate customer (ie the cost of development is paid for by one party who has a lot of money, and doesn't want to share)
Re:Open Source development *IS* a job (Score:2)
That's a valid point. I'm not talking about in-house software carrying trade secrets. I'm talking about software that is normally licensed to many customers with nearly identical needs.
Say I'm going to extend an existing Open Source accounting program to meet a client's needs. Obviously, I'm not going to publicize customizations that apply only to their business. However, if the improvements could help other people who need accounting software, those will most definitely be re-released into the GPL codebase. The client may argue that this will help his/her competitors. This argument makes absolutely no sense whatsoever because: 1.) accounting software is not their core competency; it's an overhead cost that should be minimized 2.) their competitor will no doubt have different needs and still have to pay a consultant to do the same type of work, even if just to integrate the software.
Re:Open Source development *IS* a job (Score:2)
Maybe it's time for programmers to stop getting raped and refuse to write that in their contracts with clients. In reality, it's better for you too, because as I reuse code I wrote for you with other customers, I'll improve it and give you the improvements as well. It's not like there's no return on the investment. It just prevents wheels from being re-invented. As such, your cost goes down because I didn't have to start from scratch to write the software you needed.
Re:Open Source development *IS* a job (Score:2)
When we look for new programmers, beyond language proficiency, we look for the ability to write a quality TSD (from an FSD). Writing sofware is more than just writing code. They should also be able to deal with management. This can end up being a big deal for some programmers. Thirdly (and sadly), in this tight market, we look for personal references from people who already work here. We simply discard most resumes that are sent to us from strangers. While open source will help you network, it probably won't work as well as a *real* job (knowing management types is *much* more useful than knowing programmers).
These types of experience are very difficult to get programming free software. Free software, by its nature, doesn't have much of the structure that is placed on proprietary software. Like it or not, people who produce proprietary software want people to have experience developing proprietary software.
However, there is hope for recent grads. During the internet boom, grads would get $100k jobs right out of school. But now that we're back to the real world, the old methods apply again. Get an internship. Companies are still willing to take the risk of hiring someone with little to no experience provided they're spending little to no money on him/her. Then, when you have 6 mo. to a year of experience under your belt, then you can start applying for a full paying job.
I'm all for developing open source software, but do it because you love it, not because you think it will get you a job. Open source isn't a shortcut...it's the scenic route.
Re:Open Source development *IS* a job (Score:2)
OSS: $3000 per year it's all the same to a company. Just money. The only people that care are the zealous programmers that would like to bring the ideals of a communist society, to the technology world.
You couldn't possibly be more thick-skulled could you. You make up random numbers to make it look like you know what you're talking about and then claim that Open Source has something to do with communism--which it has absolutely none of whatsoever. Go crawl back in your hole.
Re:Open Source development *IS* a job (Score:5, Insightful)
Wow. Slashdot is pretty full of people with lots of ideals and no skills or experience, but you completely take the cake.
Bold claim. Got any proof? Got any numbers for how many people are actually doing it? How many programmers actually make a living doing open-source programming full time today? How about a year from now, if the economy doesn't pick up? How many total programmers are there in the world? This "phenomenon" you rant about, this wave that's going to overwhelm us all, was barely even statistical noise even at its peak, and that peak has passed.
Been there? Done that? No, didn't think so. Open source or closed, your zealotry would be fatal in business. Those few people who are making money off open source have survived by learning not to piss off the guys with the money with that kind of extremism.
You might actually be right there. "Need" is a funny word. No, the world doesn't need proprietary software or copyright law. But they exist, and people - real people, not just big corps - benefit from them. You haven't provided any compelling argument that society would be better off without them. Heck, far better programmers and writers than you have tried to make such arguments, and they haven't succeeded either.
That, my friend, is called argumentum ad hominem and it's frowned upon as a fallacy. I'm not just nit-picking either; logic and debate are essential skills in the business world, regardless of whether your source is open or closed. There are myriad reasons why people participate in the creation of open source. Lambasting them all as parasites or cowards is as absurd as characterizing all open-source programmers as thieves. There's a grain of truth in each case, but no more.
Even if I were the most ardent advocate of open source - and I've probably done more for open source than you ever will - I'm too much of a pragmatist to back the losing side in any fight. You'll find that such pragmatism is a common trait among real engineers.
Re:Open Source development *IS* a job (Score:2)
How many programmers actually try? Not many. I'm trying to change that. You're following the herd.
This "phenomenon" you rant about, this wave that's going to overwhelm us all, was barely even statistical noise even at its peak
Yes folks, that's right. All this "Open Source" stuff is just "statistical noise." Go delete your Linux/BSD partitions because it doesn't matter anymore as this poster has so brilliantly pointed out to us. And this comment gets modded up to 5?
Been there? Done that? No, didn't think so.
How about you, bud? You ever try it? No, didn't think so. Well shut your trap then because some of us have open minds and guts to try new things. It's called innovation. People who rant like you are the opposite.
You haven't provided any compelling argument that society would be better off without them. (proprietary software)
Oh, you mean like.. less re-inventing of the wheel? Are you that blind to think that the current proprietary software industry is beneficial to society?
That, my friend, is called argumentum ad hominem and it's frowned upon as a fallacy.
Is that so? Because you use the same technique all throughout your response. For readers who need a clue, argumentum ad hominem is when you attack the person making an argument rather than the argument itself. And I notice that not once in your opposing argument did you actually address what I'm proposing as reasonable or unreasonable. You just made blanket statements and got modded up become some idiots apparently thought your "pragmatist" views were more mature. If you want to stand on the sidelines, fine. But either keep your mouth shut or make an intelligent argument.
I've probably done more for open source than you ever will
Really? Who's the one that's dead set on having a day job doing proprietary software because all that fancy-smancy Open Source stuff doesn't put bread on the table? Eh?
Re:Open Source development *IS* a job (Score:2)
I personally know about two dozen who tried. About half eventually ended up working on proprietary software. The other half are unemployed. How big a sample do you need before you'll face facts? I'm sure the people I know constitute a very small percentage of all those who tried, and that more examples could be found.
What are you doing to change anything, besides ranting here? Just about everyone I know who actually has a business isn't shy about putting the word out. You, by contrast, haven't even bothered putting a link to your project/company in your profile. What do you do, exactly, that's so good for open source? BTW, it's not ad hominem when one's interlocutor has made their character or identity relevant by trying to use it as the basis for their argument.
Strawman. What I meant, and it was quite clear from the context, was that all this "making money from open source" was statistical noise.
Then again, I'm not the one claiming to be doing that, so that's not relevant. I'll take your (lack of an) answer to my question as a no, and so I suspect would anyone else reading this exchange.
Re:Open Source development *IS* a job (Score:2, Insightful)
I have a vested interest in proprietary software. It's how I pay for food and stuff.
I make proprietary software for people. They don't want their competition to have the advantage, so they have exclusive rights to the code.
They pay me. I eat.
'nuff said.
It's NOT yours! (Score:2)
Actually, if you are getting paid to write software most likely that software is not your IP. It belongs to the company that pays you. This is called work for hire.
Don't believe me? Try take the source with you to the next job.
Re:Open Source development *IS* a job (Score:2)
I'll come home and find a few hours to mess with a bit of code. And you get that for free, but that isn't what feeds my kids.
It's your choice. You can just as well make your living off the free software development you enjoy. Right now, that may mean being your own boss. But trust me, the money's out there.
Money in Open Source means Consulting and Services.
Re:just what we need (Score:2)
That sounds like what Prof. Tannebaum said about Linus Torvalds and Linux. Years later Minix is still a toy, and Linux is being championed by every large software house in the world minus Microsoft.
Free Software gives students a chance to look at, modify, and contibute to real-life software. And contributing doesn't take a degree or thousands of dollars worth of tools either, it just takes time.
What's more, having the graduate explain how his Apache module, or PostgreSQL extension, or whatever actually works seems like a much better way to interview a potential new hire than asking them riddles.
Re:Virginia Tech CS student... bitching (Score:2, Insightful)
Re:Virginia Tech CS student... bitching (Score:2)
When HR sees your resume with your BS on it, even if it's from Podunk U, it means something. It means you have a diverse background, and are capable of inductive as well as deductive reasoning. These skills are important, especially in CS, if you want to ascend beyond code monkey status and evolve into a higher lifeform.
Re:Virginia Tech CS student... bitching (Score:2)
The professors are so out of touch (with a very few exceptions. Barnette, you rock.), they might as well be teaching ENIAC programming. Calculus is totally useless to real world CS, in all but a very few specific applications.
Re:Virginia Tech CS student... bitching (Score:2)
I hope they teach you more than "C++". Schools are not supposed to be C++ trade schools. A good understanding of concepts related to C++ goes a long way. If you want to write perl and design webpages, it should be a piece of cake.
As for calc and C++ being useless, that's laughable in the extreme. Computer graphics ? Need math. Numerical programming ? Need math. Financial applications ? You'll also need some math. If you want to be anything besides a script monkey, you're going to need to understand advanced programming concepts, and be mathematically literate.
Re:Fellow VT Student Here (Score:2)
It's much more than that. Math teaches how to handle abstractions. And software design is all abstraction - you try create solutions to real world problems from the abstract stuff of computing.
In my experience I found that programmers with lots of math background (way more than just calculus) make best software designers.