Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I am developing an open source program which for my school project. I have done some research on it, but there are still few questions. It is a school project, it is not any advance application and I am willing to share my work.

  1. Is that mean if I release my program with license, people will afraid to change my code because it may result in law sue?

  2. Can I claim my product as "open source" if I don't have license, I can define some rule of it (but without law protection)?

  3. Do i have to apply for those license (e.g. GNU), I have to submit my product code or only fulfill in a form?

share|improve this question
    
As for #1: Only setting a license won't protect your program; using a restrictive license (or none at all) will prevent some people from being able to oficially reuse your code. As for #2: that's basically "making your own license", which is tricky; better pick an existing one (see e.g. this) As for #3: no application is necessary for most common licenses, just include the license in the documentation and announce it in the program somewhere (most licenses have guidelines for this). –  Piskvor Mar 11 '12 at 16:56

4 Answers 4

up vote 0 down vote accepted

Is that mean if I release my program with license, people will afraid to change my code because it may result in law sue?

Depends on your license. But essentially, if you put a simple GNU GPL License, or something similar, it ensures that people are free to modify. There is no problem.

Can I claim my product as "open source" if I don't have license, I can define some rule of it (but without law protection)?

As long as people can get access to the source code you created either for use or modify, it IS Open source. Yes, there are no other exams you need to pass!

Do i have to apply for those license (e.g. GNU), I have to submit my product code or only fulfill in a form?

There is no registration stuff. Simple thing is apply LICENSE to your source and put it up on web somewhere or link with your email address.

BONUS:

So is that so complicated? What all things do i have to do?

Not Much really go through GNU GPL FAQ; essentially all you have to do is copy paste a LICENSE file in the source folder and put up copyright notice (a 2 liner) in source files.

share|improve this answer
    
Actually what are the open source licences I can choose from ? Why choose GPL and what are the adv/disadv of others licences? Thanks –  Leo Chan Mar 17 '12 at 16:28
    
I just wanted to focus on your primary basic doubts. Ask this as a separate question will answer. –  Dipan Mehta Mar 18 '12 at 2:37

If the school is contracting you to creating this application, then it is most likely not your call to be sharing the code.

I am assuming you are volunteering for this. A program CAN be open source as well as proprietary. There is no open-source registrar or anything like that. If you share the code, it is open source. Qt for example is open source. If you put code in a certain license like GNU and place a license file explaining the terms under which you are distributing the code, that is enough.

share|improve this answer
    
that means there is no organization for GNU and i do not need any registeration? I just have to claim my product has GNU license, that 's all? thank you –  Leo Chan Mar 11 '12 at 17:31

If you choose to use one of the GNU license, then their website has a short, readable explanation of what you need to do. I'd also recommend reading the FAQs as well.

As for your questions:

  1. That all depends on what license you put on it! If you use an open license saying "Do what you like with this code" then they're not going to be afraid of being sued.
  2. Why not? Upload the source to the web and tell people to help themselves. That's a form of open source.
  3. Nothing as complicated. The guide I linked to goes into more details, but can be summed up as "the process involves adding two elements to each source file of your program".
share|improve this answer

The first thing to do is to talk to the course professor, the department, or the university's legal department. Some universities have restrictions on what you can do with coursework. In some cases, you give up all rights to the work, meaning that you do not own it and you can not do anything with it. This varies by university, and sometimes even department. In addition to legal issues, if this is a common project, there might be academic dishonesty repercussions with releasing a project done for a course. Of course, only someone from the university can answer these questions.

Assuming that you are allowed to release your program, the next thing to do is to choose a license. If you release the code, you really should apply some license to it. This license would tell people what they can and can not do with the source code in terms of using, modifying, and redistributing (among other things). It also can release you from liabilities if the source code is used improperly and causes some kind of damage.

There are many questions here on Programmers about choosing the appropriate license, so I'm not going to go into all of your options. There are a lot out there. You should consider using one of the existing licenses rather than inventing your own. Existing licenses have been carefully written and (usually) reviewed by people with a legal background - these are things that are more likely to stand up when challenged.

Once you choose a license, you just make it obvious which one you have. Usually, this includes including a LICENSE file in your release that includes the full text of the licenses. Often, individual source files will also contain a line that identifies the copyright holder and the license under which the copyright holder has released the code.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.