Open Source as Programming Exp. for College Students?
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?"
You could always check sourceforge, they always have listings for tons of projects that need testers, coders, documentation folks, etc. Good way to get your "hands dirty" and help out the community.
Where's my lobbyist? Right here.
If the student is interested, just shoot the lead dev an email and he's in, right?
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.
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
Yes, browse sourceforge and freshmeat for interesting projects that need help.
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.
room101 -- how much can you stand before they break you?
(they always break you eventually)
The problem that some employers have with new grads is not just the lack of experience. It is also the lack of experience on large projects. Writing and maintaining a 2k-3k utility, even at a job, is very easy as compared to dealing with a small portion of a 250,000 line program.
Fight Spammers!
Many 'Senior Design' (aka Capstone) courses are ideal for open-source projects. You gain valuable experience, contribute to the open-source community, and get course credit! Plus, sometimes these projects translate into actual jobs when you get out of school.
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.
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.
Despite what EULAs say, most software is sold, not licensed.
"Frank, sourceforge needs more hits... we'll need to buy a few banner ads"
"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.."
Everyone is in computer science for the money these days.
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.
"But that's just my opinion, I could be wrong" - Dennis Miller
Would you say that if the project were Mozilla? If the project were Gnome? If the project were XFree86?
-- Who is the bigger fool? The fool or the fool who follows him? --
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...
DISCLAIMER: I'm not currently looking for more help.
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.
I believe it's a great idea.
here would be a great place to begin.
Could look great on your CV and benefit the OS community as a whole.
Prisoner #655321
If there are no jobs, there are no jobs. How is making yourself better qualified for jobs that don't exist helpful?
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.
It seems that one of the repeated claims about open-source software is that the best developers are sort of self-selected in a meritocratic system. However, throwing college undergrads at the problem certainly isn't going to garner a whole herd of the "best developers" out there. In fact, most of them will be downright awful.
So, would this be useful, or would it end up throwing a lot of buggy, fragile patches at software and overwhelming the lead developers?
1) Start small. No kernel hacks yet, you can be more productive on smaller projetcs;
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.
Buy a Nintendo DS Lite
There are some large OSS projects that actively encourage feedback and bugfixes and so on. Even contributing small bits to them or minor bug fixes would show some experience in being able to deal with isolated portions of enormous programs.
10 PRINT CHR$(205.5+RND(1)); : GOTO 10
As someone who has hired a large number of software engineers in the last decade, I'd like to give a little perspective on this issue.
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.
Sailing over the event horizon
>>Don't believe the FUD, my friends. There is
>>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.
When making hiring decisions, I do not take anything on the resume seriously. I have found there is no relationship between quality of resume and quality of coder/employee. [However it usually must get through resume screeners who dont know anything about programming, so make it look sharp!]
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.
The only way to become a good programmer is to write lots of programs so in this respect I suppose writing code for an OpenSource project is just as good as any. From a corporate job marketability perspective it's virtually useless however. Most employers will not know what OpenSource means and will probably think you're some kind of communist code hippie if you try to explain it to them. Best leave it off the resume unless you know the reader will appreciate it. Rather than procrastinate working on another worthless runlevel editor for Joe-Bobs-Great-But-Kinda-Slow-Desktop-Environment, you would be much wiser to make your skills available to a professor writing ulitmately useless code. Right now, students should be worried about grades and diplomas, certs, and boring stuff like that. It all comes down to peices of paper folks. Don't fool yourself into thinking your enthusiasm for writing Free code will help you.
Firstly, as much as I dislike MS, I hardly see how you can blame MS for this mentality (as you see it).
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.
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.
As far as I can tell, most of the people who have made significant contributions to Mozilla, who weren't already a Netscape employee, whose contributions were high quality and who appeared to be a reasonable person has eventually at least been offered a job interview at Netscape, and many of those people are now working there. (It's one big reason why Mozilla doesn't have as many "non-Netscape" contributors as you might expect.)
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.
If I was trying to help a college student ...
...
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.
You remind me of a guy who I went to school with that was bound and determined to live outside of the capitalist system (but still stay in the United States). I'm happy to say he has managed to stay alive without spending any money, because he joined the military. Other than that, he would have lots of ideals, but no food on the table.
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.
Do you have Linux and a DotPal? Click here now!
Calculus is taught to CS students to give them Mathematical "Maturity". It is worth it to learn your math. Someday, all software engineers may have to prove that their code works. How? Through math.
Keep dreaming...anyone who is successful through programming open source software has more than likely pulled a stint or two at a *real* job. There's certain things that just can't be gained programming free software that employers look for.
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.
"Don't blame me, I voted for Kodos!"
Working on the education side (Engineering) of this discussion, I have something to add.
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.
If you want an easy place to start where you're likely to find a good job I suggest you pick a web project and offer to maintain the db code of that project especially if you can work with both MySQL and Oracle. Being a DBA might not be the most fun but it seems to pay well and companies seem to always be looking for such help. Having Perl, Python, and PHP are also good languages to make sure you know. Any admin or web programming jobs you take will exercise all three heavily.
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.
At what price learning? At what cost wisdom? The price is a man's peace of mind, and the cost is his life.
I actually have always been a geek and programmed heavily before actually getting a job. In fact, I had more programming experience than most people at the first job I worked on.
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.
int func(int a);
func((b += 3, b));
I've started taking things like history, lit, and Japanese to pad my schedule because this bassackwards school ran out of good CS stuff to teach me. (And most of it I learned from the school I transferred out of, Stevens, anyway.) These things are academically valuable.
:)
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.
N4st0r, trixx0r h0bb1tz0rz! Th3y st0l3 0ur pr3c10uzz!
With OSS code around, it's a fantastic opportunity to *read* lots of other people's code. Writing some HTTP protocol stuff? Take a peek at the Mozilla, Konq, curl etc source for some pretty wildly different ideas at how others have tackled it, and compare it with your own ideas.
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.
Going to college is much more involving than a 40-hour-a-week+commute job
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.
I know a lot of people that take on interns. Might not be paid experience, but it is work experience and looks good on a resume.
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
/* TODO: Spawn child process, interest child in technology, have child write a new sig */
wow. I wish I lived in your world.
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.
I'm 13 years old and am involved in the Mozilla project and somewhat in the parrot (parrotcode.org) project as well. If you don't believe me, do a google search on my name (Zach Lipton)... I got involved with Mozilla two years ago and as they say "On the internet, no-one knows you are a dog."
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!
Open source is nice, but it's something I do _after_ I put bread on the table. ...
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.
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.. ;)
The streets shall flow with the blood of the Guberminky.
You remind me of a guy who I went to school with that was bound and determined to live outside of the capitalist system
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.
>>Income from Open Source means Consulting
>>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.
Drop out. I dropped out of VT CS and it was the best move I ever made.
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.
I've had enough abrasive sigs. Kittens are cute and fuzzy.
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.
...richie - It is a good day to code.
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.
...richie - It is a good day to code.
i don't know why i must state this on slashdot, but You Can Make Software Open Source AND Sell it! Ask RMS who initally sold emacs for $100. Look at Redhat or any linux distro compony. I'm not saying it works for all programs. The little proggie that is merely an enhanced version of cat would not benefit, but there are plenty of programs, and considering that your program is highly specialized it might have worked fine also. Basicly, the more mission critical the software, the easier it is to make incomse based on consulting and support.
Only dead fish swim with the stream...
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.
Slashdot - News for Herds. Stuff that Splatters.
Look on the bright side: Free Food From the Sky!
--
"Outlook not so good." That magic 8-ball knows everything! I'll ask about Exchange Server next.
...for one, stop reading and posting silly questions to Slashdot, and just subscribe to any one of the mailing lists of the many open source projects around. Pick something that sounds interesting. Or find a pyschologist if you don't know what is interesting to you. Sheesh.
It's 10 PM. Do you know if you're un-American?
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
-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.At my university, we started a class called "Open Source Software Development" this spring. In it, we are actively working on an open source project, and are learning about the methodologies and philosophies that go along with this development model. On the practical side, we are also learning to use some of the most common development tools (SourceForge, CVS, Lists...). The class is student led with a professor overseeing the whole thing. So far it has been going really well. We are three weeks into the semester, and the students are already contributing quite a bit to the project. Looks like it's going to be a winner!
Luke
First, let me qualify my post:
* 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.
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.
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)
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?
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.
Make even shorter URLs - 8LN.org
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.
Too big to fail? Does that make me to small to succeed?
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.
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.
.... So when it comes time to release it, we should just give it away and expect and there will 'magically' be money..
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'
That's in 100% of the contracts I write -- and it's fairly common. If I'm paying for your time I own your product.
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.
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.
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.
Ok, so I pay you before I know if the software is any good or will even be produced. I'm getting confused here, why would I want this instead of buying an off the shelf solution?
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.
The Drowned and the Saved - Primo Levi
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)
I think the idea of harnessing students to help out with OSS projects is a great idea. Now a lot of people on this thread have argued that OSS projects may be unsuitable to student involvement for various reasons. I would argue that while that may be true, the project leads running OSS projects should do what it takes to get students involved.
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.
Because in order for a software project to have any effect it has to be judged by other people interested in open source software. These people are also the same ones you compete with to get jobs and are usually more intimidated than impressed.
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.
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.
Ask RMS who initally sold emacs for $100.
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).
Exactly, you're in an interview and the hirer mentions that he'll need you to do some admin of their apache server, being able to say "yeah, I wrote some of that" (and back it up of course) is going to catch their attention a little, don't you think?
~~~~~ BigLig2? You mean there's another one of me?
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
If i were teaching again at a university, i would run an open-source project as follows.
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.
here are some figures: prop software: $1000 + $2000 per year. support
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.
How many programmers actually make a living doing open-source programming full time today?
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?
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.
Slashdot - News for Herds. Stuff that Splatters.
nobody's in a recession. it seemed like the US might have been, but the GDP was +0.2% for the 4th quarter, so its technically not a recession.
when the rain comes, they run and hide their heads. they might as well be dead.
I personally know about two dozen who tried. About half eventually ended up working on proprietary software. The other half are unemployed.
"Two dozen" doesn't tell me anything. What exactly did they try? If you're talking about people who wrote free software and then put a 'donations' box on their website, that doesn't count. Silly dotBomb attempts like making their own distro or trying to provide generic tech support also don't count.
Let me put it more bluntly. There are what are known as "Microsoft Solutions Providers" who go around setting up Windows, Office, SQL Server, etc. for small/medium sized companies. The idea is to provide a complete solution using MS products. Companies pay big bucks to have this work done for them *plus* the exorbitant MS client/server licensing fees. My idea is to do the same thing but with free OSS. At the same time, consultants can provide a *better* solution than the MS people because the software is flexible and can be modified/extended to suit needs. If the client pays less than they would have for proprietary software, there is no reason why they shouldn't go with this option, especially if the resulting setup makes their business more efficient.
Slashdot - News for Herds. Stuff that Splatters.
With this type of software, the copyright model makes a lot of sense. It's cheaper to pay a copyright holder than it is to pay the salaries of the developers you'd need to write it.
However, if the improvements could help other people who need accounting software,
If a feature is useful to a lot of people, it will be implemented in the main software package. It's usually too expensive to pay developers to implement core functionality in a piece of software.
will most definitely be re-released into the GPL codebase.
But why should they pay you to develop something that should be a core feature of the application ? From their standpoint, the copyright model makes more sense. Features that are widely needed can be added to the software. You only need in-house developers to add fairly specific "once-off" hacks.
This argument makes absolutely no sense whatsoever
It's not the clients job to explain themselves to a free software zealot. They'll just hire someone else.
Let me guess. The fact that I don't know what a TSD is (or how to write one from an FSD, whatever that is) makes me a bad person?
No, not at all. However, it does make you less qualified for a job where the requirements include thorough documentation. Like it or not, being able to read a function spec (FSD) that comes from product planning/marketing people is a reality of most proprietary software environments. A quality engineer should be able to take a functional spec and write up a good technical spec (TSD). This is important to show that the finished code implements what product planning had intended. No value judgements here, just ability to adapt to the process that results from developing software in a regimented environment.
The thing is, not everyone is looking to make a zillion dollars (no, really! they're not!). Not everyone is trying to pad their resumes with lame crap in order to pull the wool over some manager's eyes and get a bigger salary.
I'm not trying to make a zillion dollars either. All I want is to make a living writing software. I really don't enjoy all the extra hassle that goes allong with coding software for a corporation, but I put up with it since I get to spend at least some of my time writing code. My only point was that if you want a job writing proprietary software in a corporate environment, there are skills that show you can adapt to that environment. If you don't have them, maybe you're better off working in a small development team that does things in a more laid back manner. No sleight against you, but the skills you lack are necessary in many environments.
Some people (get this!) actually LIKE programming. Some people actually LIKE developing cool projects (not products) and putting them out there and saying "hey. i think this is cool. what do you think?" Or "I made this because I needed it. Maybe someone else will find it useful."
I actually love programming. I work a real job during the day, and I spend a lot of time outside of work programming too (and when I actually finish something, I release it as open source). But when I program outside of work, I just program. I don't let the aspects of my job that I don't like touch my personal code. There is no project planning to be accountable to. There is no functional spec that tells me feature x needs to be implemented. If I get half way through programming and decide that my program doesn't need feature x for me to enjoy using it, I don't implement feature x. The nature of open source is that it doesn't have a specific customer in mind. Programming software to the needs of a specific customer changes the process of developing that software.
Some jobs don't need politics.
Don't confuse politics with process. The backstabbing and schmoozing are irrellevant here. What does apply here are the ability to interact with your co-workers as part of your job functions. Prior experience with that aspect of the job cannot be gained from open source work. And it *is* something employers look for.
"Don't blame me, I voted for Kodos!"
Talk about missing the point! I bet you're an MBA aren't you? What part of "we don't need ANY proprietary software" did you not understand. That's right. No proprietary software. As in: Proprietary software is going the way of the dinosaur. Deal with it.
Nope...no MBA here, just some common sense. Perhaps you meant to say that commercial software is going the way of the dinosaur. In that case, it might be a half-way sentient argument. However, companies will always have code that they develop in-house and do not release to the public since there is no need to do so and there is a possibility that it could benefit their competition.
The point is, smart programmers don't NEED the corporate "we" that you refer to a dozen times in your argument.
The do if they want to gain any experience to put on a resume. Even consultants need a resume to show that they are capable of what they say they are capable of doing. From my experience, consultants do not get hired until they've had at least 5 years of software development experience. It may be the case that in your "pie in the sky" world, once proprietary software has been eradicated from this planet that a consultant can get hired right out of school, but until that time, they'll need to get some real experience under their belt before they can start enjoying writing open source for a living.
For that, those people WILL pay you if you offer a better total solution than proprietary competitors.
So why would anyone sign up with AOL these days? There are undoubtedly plenty of ISP's willing to give you net access for less that AOL charges. The reason is that AOL is a respected business with a proven track record. Consultants are hired the same way...based on not only the product that they can deliver, but the track record to proves that they can deliver.
"Don't blame me, I voted for Kodos!"
You think you're real smart by posting 'fallacy this, fallacy that' don't you. The question to you was whether these people you know (let me guess.. all from the same dotBomb startup?) had tried consulting-related Open Source business models. Judging by the fact that you didn't answer, it is my guess that what I "excluded" was what they in fact tried. And if so, I'm not surprised they failed miserably. If you believe that their example is proof that making money from Open Source doesn't work, then I'm afraid it is you that is making the logical fallacy.
Wrong. Some day you should try developing a theory to fit facts instead of making up "facts" that fit your pet theory.
That is truly one of the most contorted statements I've seen in a long time. What you actually ended up saying is that you think my friends did try what you suggest, and you're not surprised that they failed. Truly, you have a dizzying intellect.
Some of the people I mentioned were involved in product-related endeavors, others were in consulting. Both groups have fared poorly, but of the two it's the consultants who've been hurt most. Don't believe me? Find any half dozen people who were out there a year ago trying to do what you suggest. Ask them whether they believe in your theories. The two who are still employed might refrain from slapping you upside the head, but I can't vouch for the other ten.
What you don't seem to realize is that when money gets tight expenditures on all forms of outsourcing - consultants, freelancers, custom development and support contracts - are the first to go. The service income that you posit as a substitute for product income dries up, leaving nothing for open-source developers. It's not a coincidence that open-source software rose to prominence during an economic boom, and has receded during the ensuing decline. That's reality for you, and it's right there for you to see if you'd just pull your head out of your ass and take a look.
Slashdot - News for Herds. Stuff that Splatters.
I'm not going to continue the nonsense back and forth, going-nowhere part of the argument. Lets cut to facts only.
when money gets tight expenditures on all forms of outsourcing - consultants, freelancers, custom development and support contracts - are the first to go. The service income that you posit as a substitute for product income dries up, leaving nothing for open-source developers. It's not a coincidence that open-source software rose to prominence during an economic boom, and has receded during the ensuing decline.
OK.. this is a sensible argument. I'm not sure why you didn't make it originally. I'm not sure I totally agree with part of it, so here goes.. You say that outsourcing is the first thing to get cut, and that's true. However, look for a moment only at firms that do not have an IT staff. They still need software. They still need someone to maintain their systems. If they can get the same software / service they need for cheaper, they will switch. In many cases, Open Source software already exists that meets the vast majority of a need and the only reason a proprietary package gets deployed instead is because 1.) they aren't aware of the free software or 2.) they are but have nobody with the knowledge required to install it.
For larger companies with an IT staff that doesn't want to outsource software consulting, there's no reason their IT staff can't include some in-house programmers that work on open projects. In fact, that's probably the biggest option right now. Develop it because you need it and the framework already exists. Give it away because it's too expensive to maintain yourself. As long as a company is saving money, it makes sense. Or, if the cost is too great, the company could actually *gasp* coordinate a software project with others in the industry via a consortium of some sorts. Spread the cost and still eliminate the middle-man (software company).
Point is, there are always new options.
GCC will be going into the crapper as soon as somebody produces a good fast compiler for linux.
Then go buy one from KAI or Intel, if it makes you happy.