Which Google Code license should I use? [closed] - open-source

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
This is the first time I'm creating an open-source project, and I've decided (based on this question) to host it on Google Code. Now, I'm asked which of several open-source licenses I'd like to use. I'm not interested in digging into them to figure them out, so:
Which one should I pick?

From what I understand, BSD, MIT, and Apache licenses all allow another person/company to use the source code in a closed-source, commercial project, as long as they provide acknowledgement. GPL requires that any project using the code will also be released as GPL. GPL will reduce the number of people who can legally use your code, but it helps to keep improvements in the public. Those are the most important differences in my opinion. Your opinion determines which one is best for your project.
(Edit: You really should read through the licenses, though, in case "what I understand" is incorrect.)

Assign each one to a number on a dice and give it a roll. If you don't want to take the time to read each one and decide for yourself which one fits you best, there's really no difference between rolling a dice and using the one someone suggests for you.

Of course the most important consideration is to choose a license that is compatible with your project goals and philosophy. If your software is intended to be used in conjunction with some other open source software, prefer to use the same license if possible, or at least a compatible license. If you do not wish your code to be used in non-free software without your permission, prefer GPLv3 (or GPLv2). If you want your code used as widely as possible, even allowing others to distribute it under a different or closed license, prefer Apache v2 (or MIT or new BSD).
A summary of open source licenses can be found at http://en.wikipedia.org/wiki/Comparison_of_free_software_licences. Read the Wikipedia article on any license of interest to get more details. Once you have tentatively chosen one, read the license itself to ensure that there are not any surprises. If there is some part you are not comfortable with, pick a different one.

You should really read about each licence and select the one that suits the most. Read and read again, to understand well. There is no other easy way to select a licence.

Take a look at this
It's contains pretty much every thing about open source licenses

This question is one which is likely to result in numerous differing and quite heated answers from various camps. Some believe that the BSD / MIT license is the best way to go, others believe that the GPL is the best license.
Suffice to say it really depends on what the goals of the project are and how you feel personally about the restrictions or lack of restrictions that the license imposes on third parties.
Only you can really answer this question.
If you forced me into an answer I would most likely choose the BSD license.

Related

Deep diving into open source code [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
When do you feel that it's appropriate/necessary to take deeper dives into the source code of open source tools to gain an understanding of the toolsets that you use? (nHibernate, StructureMap, Rhino Mocks, etc.)
When it doesn't work the way I expect or I need to implement something that isn't described very well in the documentation or with examples. Usually, it's a response to doing something that I think should work, but not understanding why it doesn't. FWIW, this also applies whenever I can access the source code, regardless of how "open" it is.
I would say there are two scenarios for that:
When the OpenSource product is part of your core business (your company depends on it).
When you want to start contributing to it.
I start diving into the source code anytime I need to know: what does this do? Or why does this not work how I think it should. This comes usually after reading documentation, googling, etc.
Also if it's a framework I've used for a while - it's in my best interest to know the source code a little bit as a reference point to know how it works.
If you want to know how any framework works, you always have to start with: "What would this IoC/ORM framework have to do in order to perform this function." I find thinking from the inside out helps sometimes with frameworks.
You may need to do this if the toolset you are using does not provide functionality that you need, or if there are bugs in your tools.
For example, recently I was using a JavaScript grid library that did not support sorting a column by certain date/time formats - so I had to go into their code and understand how it works so I could come up with a workaround. In the end I had to implement this myself, and contributed the code back to their project.
I think in general, if you are doing something that requires deep diving, then you are probably doing something you shouldn't be doing. When you need to know things at a level where you aren't doing standard things, you need to think really carefully about whether you are doing the right thing or not.
The exception to this is when you are building something where the library is in the realm of your company's core competency. If you are building an online build system, you probably want to know way too much about the underlying build systems (Maven or whatever), and you should probably deep dive on those until you know them well.

Wanted: suggestions on how to implement subscription / recurring billing [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I would like to set up a premium subscription service for a PHP/MySQL based site. The site is Wordpress based, but highly customized and I'm not looking for a plugin solution necessarily. To oversimplify, I need to query the signed in user's subscription level (paid or free) and tailor the content that gets presented accordingly.
I'm looking for suggestions on how to implement the back end for billing/payments. I know one option is to use the paypal API, but I was wondering whether there are alternatives that I should also be considering. One thing I have noticed with many sites using paypal is that the experience is quite disjointed in the way one gets passed from the original site to the paypal site and back again. Is this just the way these sites have implemented the integration or are there better options than paypal from a UX point of view?
Also...
Have you used any tools / libraries / services that made this easier?
Do you have any advice on this topic in general? Gotchas, pointers, etc.
Finally, we're not a large corporation (yet), so a solution that could scale with us would be ideal.
UPDATE: After learning an enormous amount about the different options, we decided to use Braintree. Deciding factors were:
We could easily get full PCI
compliance and still control the
user experience completely with
their transparent redirect
They guarantee portability of your
customer data from their vault (very
few vendors do this)
They remove
the need to set up your own payment
gateway and merchant account
I wrote a detailed review here: http://expletiveinserted.com/2011/03/18/comparing-recurring-payment-solutions/
I also put the cost comparison list for our shortlist of solutions here: http://expletiveinserted.com/recurring-payment-cost-calculator/
Every payment gateway is different, and whichever one you decide to go with will provide complete instructions on how to integrate with the various features they offer.
PayPal is of course the only one that is not regulated by any governmental body, and coincidentally enough, the only one that makes their money by robbing people blind. Shouldn't be too hard to find thousands of horror stories if you look.

What is the best open source help ticket system? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
I know of osTicket, are there any other more compelling help ticket systems?
My company wants to use one and I am researching them now.
I forgot to mention, I will need to install it on our servers...so SaaS (software as a service) doesn't work.
There is good information on Wikipedia at
Comparison of Issue Tracking Systems
Personally, I'm fond of Trac, which has the capability of integrating with subversion, so when you check in a file, if you say something like...
$ svn ci -m "automatically fix any broken dates in the input. fixes #87"
....then Trac will automatically add this comment and close bug #87 for you.
"Best" helpdesk system is very subjective, of course, but I recommend Request Tracker (aka RT).
It has a default workflow built in, but is easily configured for alternate workflows using the "Scrips" and templates. Very extensible if you want.
OTRS, Cerberus
I like eTicket Support, is very simple to use and install.
It absolutely depens on what your goals are. The Bugzilla and Trac systems mentioned are nice but geared towards bug tracking, which is just very different from a tool you'd want to use in a helpdesk-type setup where end users would raise incidents.
If the latter is what you are looking for I'd suggest you take a look at OTRS which is a very capable trouble ticketing system. It also has ITSM extensions, which makes it able to support ITIL processes if you need to.
I recommend OTRS, its very easily customizable, and we also use it for hundreds of employees (University).
Howabout Bugzilla. Open source and what Mozilla uses.
Here are a couple that look pretty decent:
http://sourceforge.net/projects/smallhd/
http://sourceforge.net/projects/helpdeskcsharp/
TRAC. Open source, Python-based

Best open source license for those wanting attribution? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I've got had concerns of many licenses I've seen having nothing preventing other developers from taking code and claiming it as theirs. A few I've looked at included MIT and CPAL licenses. What licenses could offer some peace of mind in that regard?
How about the Apache 2.0 license:
You must retain, in the Source form of
any Derivative Works that You
distribute, all copyright, patent,
trademark, and attribution notices
from the Source form of the Work,
excluding those notices that do not
pertain to any part of the Derivative
Works; and
But I think you are worrying too much. Most users of FOSS code will happily retain attributions, license or no, and do you really have the financial resources to pursue those few who don't?
I recommend all software be licensed under the Poetic License:
(c) <year> <name>
This work ‘as-is’ we provide.
No warranty express or implied.
We’ve done our best,
to debug and test.
Liability for damages denied.
Permission is granted hereby,
to copy, share, and modify.
Use as is fit,
free or for profit.
These rights, on this notice, rely.
It is essentially the MIT license as a limerick. However, I'm not sure if this is exactly what you want. As a joke answer, I community wiki-ed it so people wouldn't think I was rep-whoring.
But I, personally, will be using the Poetic license on as much software as I can justify to myself.
The BSD license has an attribution clause in it:
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
I like the BSD license because it's short, straight forward, and easy to comprehend.
I would compare it with the Apache 2.0 License that Neil suggested and see which one better meets your needs.

Anonymous Contributions & Contributors in Open Source Projects [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 9 years ago.
Having witnessed in various open source projects, in which I have been involved, several more or less significant totally anonymous contributions, I am wondering what could be the possible rationale behind such anonymous contributions?
Occasionally, there are contributors who quite obviously prefer to remain completely anonymous - i.e. by just posting to a mailing list using an obvious nick name for months (whereas everyone else would use their real name), or sometimes even by submitting completely anonymous patches to trackers on sourceforge, where there wasn't even the slightest comment about the origins/authors, usually just a license header or a header stating that the code in question were to be released into the public domain.
Often, the code in question was obviously written by fairly competent programmers/developers or even software engineers, who presumably do code for a living.
I am wondering:
What's the motivation behind such contributions?
Have you previously witnessed such and similar instances in open source projects?
Have you, yourself possibly contributed to an open source project in such a fashion?
If so, why?
Can you provide any other insight into this?
After having read another question here on SO, and also after having read two related discussions (at slashdot and perlmonks) about potential work-contract related issues when contributing to open source projects, I am wondering whether some contributors could possibly prefer to remain completely anonymous due to their contract requirements, in order to avoid potential legal issues.
Thanks
I can think of several reasons:
some people simply value privacy - I know that I usually do not post on most forums with my name - SO is the exception for me (and even here it was only after a couple months);
many programmers work at places where part of the employment agreement is that any code you write (whether on company time or not) belongs to the employer. Whether or not these agreements might apply to the submissions, the programmer may be wanting to avoid 'tainting' the submission or may want to avoid going through the bureaucratic hoops to get permission from the employer;
the submitter may not want to be contacted for support;
the submitter may not be particularly proud of the code (rightly or wrongly);
I own two reasonably popular open source projects. I have accepted such contributions. The rationale is simple. They are using the project and want a problem resolved or feature implements sooner rather than later.
The contribution benefits them!
The most likely reason I can think of is they have some sort of contractual binding preventing them from contributing openly, such as working for a large software corporation that views open source projects as a potential liability. Or they just don't want to be bothered with people asking for more information or more support.