47

I think you make a mistake in assuming that the choice of technology is a purely technical decision. The customer seems to be concerned about the business implications of picking a particular technology. Given that, you need to present a case that addresses his business concerns at least as heavily as your technology opinions. Employers have to recruit ...


32

Lisp, Smalltalk. Coincidentally, those are also the best languages in the whole bunch. Both Lisp and Smalltalk are languages which are built around strong unifying metaphor. Lisp's metaphor is "everything is a list; this list represents both data and code (as functions)". Smalltalk's metaphor is "everything is an object; the only way to invoke a behaviour ...


21

Did you read the license? Because it's pretty short and I think easy to understand. Unless your lawyer tells you otherwise, I'd say that yes, you can use the code, but you have to put their notice & disclaimer in your documentation (about box, whatever).


20

Short Answer: Yes From the MIT License: Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ...


18

If you are the sole copyright holder (i.e., the owner), you can do anything you want with the code, including doing a derivative version of the code where the only change is to the license. Licenses are just descriptions of the conditions placed by the owner(s) on the non-owning users of the code. They do not constrain the owner. When there is multiple ...


17

This is probably best stated by the Public Domain Manifesto. Beyond the theory and such, running a business is simply a pain in the butt. Many developers want to build useful software that gets used by people. Selling and supporting software takes an enormous amount of time, energry, and (most likely) skills that most developers simply do not have.


12

There are as many different reasons as there are programmers who make choices. Here are some: You just need the software to get work done. If you open source the software, other people will add features they need and you will likely get them for free. Contributing to open source projects is fun, boosts your ego, and may improve your prospects for a job. (...


10

It sounds like what need is to have your programs digitally signed (i.e. Code Signing). This is similar in concept to an SSL certificate, in that it proves that the program is from whomever the certificate was issued to & has not been modified (e.g. malicious code added). The key to understanding Code Signing though, is that the certificates are ...


9

The short answer is "no." The code that your submitters are writing is covered by copyright, and that copyright is assigned to the submitters. Since the project is GPL, they have agreed that the code may be released under the GPL. You will need to get permission from the submitters (all of them!) to release the code under a different license than GPL. (I ...


9

Blender was initially commercial. Update: this answer is far better than mine; upvote it instead.


8

For starters, you can direct you client here for a look at the ecosystem that exists around Rails. You can also point to the successful startups like LivingSocial, Shopify, 37signals, etc. that built their businesses with Ruby and Rails. You can mention that massive enterprises like AT&T, SAP, and Symantec are using Rails, too (they were all heavily ...


8

Some "Formerly Commercial-Only" Projects The IntelliJ IDE was originally closed-source A lot of Id Software games, old (like Wolfenstein 3D) and not so old (like Doom 3) A lot of projects released as open-source by Sun Microsystems started as closed-source experiments or products: the JDK and JRE themselves, NetBeans (interesting crossing history lines ...


8

Since you are the author, you can give yourself the library under different terms from what you give the library to others (and you can give it under different terms to various others). As long as you are the only author or get all contributors agree to the special terms for you (you'd need good lawyer to write the agreement so that it's valid across the ...


7

Qt was originally a commercial project by Trolltech, then when they were bought by Nokia it was released as a dual (commercial/LGPL) project. The value to Nokia of having it as the default GUI toolkit of programmers all over the world was more valuable than the extra license fees from a few commercial customers ( or it would have been if Nokia could ...


7

Short answer: Ideas, yes. Source code, no. The source code is protected by copyright and the license only allows you to use the source code if you license the result as GPL. This doesn't block you from selling the result, but requires you to provide the source code to anyone you have sold the application to (and stops you from barring them passing the ...


7

For the regular GPL, the answer is no. Quoth the FSF FAQ: Q: Is there some way that I can GPL the output people get from use of my program? For example, if my program is used to develop hardware designs, can I require that these designs must be free? A: In general this is legally impossible; copyright law does not give you any say in the use of ...


7

TL;DR Use an app store. They do all the hard stuff for you. All you'll need is a simple website to point to your app in the store. You have many questions here, and may issues to resolve... Do I have to produce individual terms of agreement for this program? You don't have to do anything. To be honest, a $1 sudoku solver will not make much of splash in ...


6

I'd explain that it's basically a "Coke" vs. "Pepsi" choice. Both are widely accepted, both have people that will fight and die for each, and they're both perfectly adequate. Point out the reasons you prefer RoR.


6

He's talking about people, you're talking about a language and framework. He is not going to hear any reasons that are purely technical, so you should focus on what people are doing with the language. You can talk about people-power under Rails, how it's easier for one person to do more than a PHP person, faster (if this is what you believe). You can ask ...


6

Yes. You can use BSD-licensed projects in closed-source, commercial projects. You must include the original copyright and license. From WikiPedia's BSD License page: The BSD License allows proprietary use and allows the software released under the license to be incorporated into proprietary products. Works based on the material may be released under a ...


6

TeX, the typesetting system, has been very stable since version 3. Since version 3, TeX has used an idiosyncratic version numbering system, where updates have been indicated by adding an extra digit at the end of the decimal, so that the version number asymptotically approaches π. This is a reflection of the fact that TeX is now very stable, and only ...


6

C and Fortran are languages that spring to mind. They are very stable and their syntax is easily contained in one's mind. Other than writing bad code yourself, there are very few suprises when using these languages. But I wouldn't hold them up as great languages for rapid application development. I prefer the rapid advancement of languages with features ...


6

Others have already said Lisp so I must bring up Forth. It is very easy to implement and the rules of the language are simple to follow. It is a stack-based language with a dictionary of "words." You can easily extend the language using some inherit features. A VERY terse example of turtle graphics: \ 8.8 fixed point sine table lookup -2 var n F9F2 , ...


5

HTML5 and Javascript is the only option if you must have your game playable in a browser, and be 100% cross platform such that it'll work on otherwise closed platforms like the iPad (in the iPad browser). There's ways to obfuscate the client side code so that it isn't easy to steal, and there's other tricks that can be used to prevent outright theft. As a ...


5

Why exactly do you want to prevent your clients from redistributing the software? A fear that you may miss out when they turn your software into a multi billion dollar cash cow? If you're writing softwarte that's customised for the needs of an individual client, then this scenario is so unlikely it's not woth the time to worry about it.


5

Here's one list: Learning You realize that the free stuff like linux didn't happen without hard work, and you want it happen again complexity of software is just fun it's just better alternative than anything else available you already have a job, and another one is just not worth it, but keeping your skills up-to-date is still important Ability to choose ...


5

No, there's no problem as you own the code (and the copyright). You can do whatever you'd like with it. You could also allow other people to do the same for an additional fee if you provide them with a copy under a different license. In the past, I've changed my GPL code to do something that a client wanted, and then provided them a copy under a two clause ...


5

Ok, Here is the secret Truth about It... The Data in your app in worth more than the App it self! The reason you can't find that data is because it has value, more value than any set of code accessing it, it would be cheaper to buy the Code base to seamless web than to buy it's database of restaurant, menus and pricing. You will just have to build your ...


5

Bandwidth is cheap. Time is not. I would suggest that if you are selling your software that you have the process as automated as possible, asking as few questions as possible, and have it "just work". Given this, 20mb isn't a lot and you're really looking at 20 seconds or less for most broadband connections. at least in my country. Bundling the software ...


Only top voted, non community-wiki answers of a minimum length are eligible