• Forum
  • Lounge
  • Open Source vs Closed Source (worst that

 
Open Source vs Closed Source (worst that can happen)?

Ok guys, I am still working on this library (a game engine for sure). Its coming together since I am able to abstract away the platform from the individual libraries, but there is a certain problem of time vs benefits.
I know that my game engine contains, definitely several subsystems:
platform detection, data structures,memory and io, threading, file system wrapper, gui, graphics, so on.

So far I have the platform detection library, math library, 2d graphics library, and (back-end Windows) version of a gui library working and coherant. And naturally my project is getting extremely large, just from the complexity for each of my sub-libraries. My most useful libraries that I am coding myself, and feasible that people may want to actually use are my math library, file system library, data structure library (1 "small" custom made and 1 c/c++ standard), platform detection library, and 2d graphics library.

I know how to design "architect:" and code all of this myself. I am also willing to invest the time to do it myself, over a long period of time potentially 2-3 years (until i graduate), much like writing a book. But I'm thinking about how many people will actually want to use this. Google says that its generally always better to do things open source since its better for productivity. Google also adopts an attitude that there is no such thing as a genius programmer, which i agree with since for ever piece of knowledge i attain that there is at least n+1 pieces of knowledge I don't know and even more that I will forget.

My main question is, assuming that I make my project open source, what do I stand to gain AND/OR lose? Alternatively, conversely, if I choose to keep it as a 1 man project, what do I stand to gain/lose? I've been thinking about making this project some sort of startup for my university, (alerting my professors/university) of what I'm trying to do, but I'm not sure how many people will be interested. There is another problem, I think too much, I think too much about the possible outcome vs making a quick decision, while I know that there must be a balance. So I really would like for this project to become either my main project or something open source.

1.) What can I gain for making this project open source (accessible) and modifiable by other individuals.

2.) What can I lose? Meaning, legally, financially and so on. I realize that if this project is successful It would be much more likely for me to be hired by an employer because it will show that I have enough dedication to startup and to engineer, the bulk of a project. It will also show that I can work with others. But on the other hand, I may or may not always have a say in the general direction of the project. I don't want to marry myself to one project but I've invested a lot of time into it.

I realize no gain is made without a certain trade-off or risk. And I thank all of you who care enough to read my post and to answer my questions.
Last edited on
"1 man" is not the opposite of "open source"
And naturally my project is getting extremely large

How large (in lines of code)?

2.) What can I lose? Meaning, legally, financially and so on.

Basically nothing. The market is already flooded with projects that have already done what you are doing. No one will pay any attention to what you do before you can show something impressive that others can't, or until you show something others can, but ask for a lot of money to do it, and you do it for free.

On the legal part. Open-sourcing your project doesn't mean you can't sell it. So long as you are the only contributor, you can always "close the source" (you can't retract what you have already posted, but you can close any future versions).

What can I gain for making this project open source (accessible) and modifiable by other individuals.

Most importantly, when a project is free/open software, people will pay attention to what you do at a much earlier stage. You will be able to get people to look at what you are doing with far less polish than if you slap a price tag.

If you manage to get someone to join your project, your resourses can x1.5times themselves overnight, without any risks/overhead. Noone will join a non-open/free source project without payment.

***
I am in the beginning of the fifth year of my personal c++ project (its a small mathematica-like computer algebra system). 1/2 year after starting (3.5 years ago) I put the whole project on sourceforge, where I've been developing it ever since. An extra benefit immediately came: free/opensource projects get free svn, etc. hosting. I've been using the wonderful sourceforge tools for maintaining my code without having to learn svn, do system administration, etc.

Such benefits come for free only to open source projects (grab your wallet if you want close-source project hosting done for you).

As far as other people joining your project: last month I got the first person to seriously contribute to my project (a student, who is learning a particular piece of math and programming it at the same time within my project). Getting other people to join you is amazing. Just from having someone "out of the box" compile your project will immediately boost your system. To give you an example, I had messed my codeblocks-makefile. The guy, a complete beginner in C++, fixed the precompiled headers, and sped up the full recompile times from 2 min to less than 1min.

***
One more note. Two months ago, I did join another person's open source project - a colleague of mine who made two courses' worth of LaTeX slides for teaching Calc I and II. The project is amazing (basically automates all my teaching duties). It's only drawback was that he did all the graphics not using LaTeX, so they were not modifiable. I immediately started reworking all his graphics in LaTeX, making them much better and at the same time modifiable. So far I have spent 80+ work hours in his project, additionally adding all my other LaTeX files (homeworks, etc.) to the project, which is well above 100 hours of work as well.
Last edited on
@tition, its about 3mb large, but I think LOC is irrevelant, and I don't even count LOC anymore, because the things you can do these days, (with libraries), and small amounts of code make little statement about the quality of the project. I appreciate your effort to share your experiences and I've decided that after I make my first quality application, any application, I'll make it open source. By then, It'll be proven and then people can help to further develop it if they are interested. I'm gonna invest more time into it and see where it ends up.
Last edited on
Topic archived. No new replies allowed.