tags:

views:

71

answers:

3

I occasionally write some small PHP scripts as games or forums. However, I really need to get involved in a big project. I am a 3rd year CS major and I do not have a job yet. I have tried websites like sourceforge, but I find them not rigorous enough. One option is to team up with my friends from college to create a project; however, I am not that social.

For example, I admire the browser RPG game called Dragon's Call. There is no chance that I can create a similar game by myself. However, I really like to get involved in such a project. How do such projects emerge?

+2  A: 

Just pick a project on GitHub, fork it and start fixing issues and making enhancements, send pull requests to the main projects owner. If your changes get accepted then you have some confidence in what you are doing.

fuzzy lollipop
+3  A: 

If you want to be involved in a large scale project, you first need to learn to be social.

Most large scale development work requires good communication skills, so you will need to work on those first.

If you really want to get involved in such a project, search the web for open source projects with the characteristics you are interested in (programming language, genre etc...). Start reading the mailing lists, forums and lurk on the IRC channel if they have one. This will teach you how they communicate and how they like contributions to the project to be made. Then start contributing.

Oded
+1 for the importance of sociability. We are in the communications business.
APC
+3  A: 

Believe or not, you can write dragons call. But start very small with a very limited set of functionality. When that is complete expand on it. With some determination, you will have a nice piece of software that people may want to work on.

Another way is just to find a cool open source game you like, and go through the bug list and find a bug you think you can fix, and submit a fix. Wash rinse repeat.

Byron Whitlock
+1 for bug fixing. It's a) more rewarding, because you'll have results faster than when you start your own, and b) more realistic, b/c in the industry you spend more time on maintenance than on new projects. Plus, you actually do something useful :-).
sleske
Thanks for your advice. However, the main issue is security. I have coded a site similar to projecteuler. I tried to add the functionality to evaluate python code so that the users will answer by coding. But, somehow my site was hacked. I do not know whether the code evaluation was the vulnerability. I got really frustrated by this. At the moment I am not sure how to make my scripts secure. This is the main issue for me.
Pick a project with high code quality and a decent code review culture to work on; then you can get your patches reviewed. It can be a great learning experience.
Nicholas Riley
@elasolova you always want to be very carefull when allowing users to execute code. Unless you have a sandbox environment and/or special language protections (Think javascript) don't let users execute code. I bet you could hack your site if you wanted too. If you can hack it, it will get hacked eventually. All this will come with experience. I'll bet you wont' allow users to execute code without thinking about it again ;) Good luck, try not to get frustrated, it is part of the profession. Take the frustration and use the energy to find an work around/fix/answer. Good Luck.
Byron Whitlock