Can Proprietary Language Teams Succeed By Going Open Source?
JerkyBoy writes "RunRev maintains the proprietary LiveCode programming environment. Those familiar with HyperCard on the Mac would feel quite at home using the environment to produce simple applications, and possibly more, although the programming language it incorporates has a few significant shortcomings (e.g., true object orientation). But it is a very versatile environment, currently claiming support for Windows, Mac, Linux, iOS, Android, and server-side scripting. For us NOOBs who could never find the time to learn C++ and something like the wxWidgets or QT toolkits, it seems like a pretty good deal. Recently RunRev has done something interesting, however, and that is to create a Kickstarter campaign to move the environment to open source (~500K lines of code, ~700 files). The way that they describe it, it sounds like there will be a commercial version and an open-source version of the environment (hopefully not cripple-ware), and they are asking for money to do this. But I want to know: what are their chances of success with this model? How in the world can they make enough money to maintain their programmers and overhead while giving the environment away? In other words, if a company like RunRev announces that they are moving to an open-source model, should you become more interested or less interested in their product?"
Of course it can work. Even Microsoft does something similar with its express editions.
"I've got more toys than Teruhisa Kitahara."
I haven't seen any single case where moving to open source was bad for the mover.
#
#\ @ ? Colonize Mars
#
That's the first time I've encountered someone citing true object orientation as a significant shortcoming.
The Tao of math: The numbers you can count are not the real numbers.
All the money in programming languages is in books that must be updated every 2 years and training.
Just ask the Ruby on Rails guys.
They change the solution completely every 2 years, so that any old documentation is a liability. i've bought and thrown out 3 sets of Rails books over the years because the implementation details changed so much with every major release.
That is where all the money is in computer languages.
It probably didn't sell very well already.
No.
Perhaps they are going OSS because they realized their product is simply not going to be successful closed source. The fact of the matter there are many many OSS options which already have wide adoption, and real developers will likely prefer these solutions over any closed source one. Tehre is also the fact that a non OSS platform will simply be dropped at some point and updates will stop - at which point you'll be screwed.
Poster pointed out one of these examples: hypercard, but I'd just like to point out that we had started developing an app on AIR only to have them drop cross platform (Linux specifically) support 2 months into our development. It was a job for a client, and we had to spend a few extra weeks porting it to Java. Since that time we have refused any proprietary platforms, which we didn't like in the first place but we now view as a direct risk. We don't even look at non OSS for our development, environments and libraries included.
There are too many languages as it is. Please keep your proprietary languages behind a paywall! Even new open source languages don't seem to be getting little traction as developers are reeling from the introduction of so many new languages over the past few years. The situation is currently insane, and the industry needs to restore some sanity. I can barely keep up with Java and C, a little C++ (the new 2011 version is a monument to how badly designed C++ is - the compiler can't figure out a function's return value and you have to put it at the end of a method now!?), and Perl and Python. I like Python because Python runs as Jython in Java, so I only have to learn one scripting language for embedding in a project. But Python just broke itself (version 3 is incompatible with version 2 - someone thought that was a good idea?!) but I haven't had to deal with that because Jython hasn't implemented the new broken version.
I'd be happy if a black hole opened up and swallowed all the other languages.
So they've been selling closed-source software for years - presumably (hopefully for them) they got a bit of profit out of that. They plan to continue selling that software, and at the same time give that existing code away to the open-source community. All fine. But why exactly do we have to finance this business-plan through kickstarter?
??? So, basically the kickstarter is funding a perpetual, universal, site license (where site = universe) to a crippled "open source" or "community" edition? what the fuck?
No thank you. Keep your niche product closed source and expensive, the world won't give a shit either way.. but the way you're dangling a so-called open, "lite" version on a stick to get a not-unsubstantial sum of money is pretty pathetic.
Except Novell. Er.. and Sun. And SGI... Google is struggling to keep control over Android and put the cork back in the bottle. I would say that open source is fine if you don't want to commercialize the product in a heavy way.
Novell had its business model removed as Windows absorbed Networking [much like they are doing with stream now], and after getting involved with Linux took a bribe from Microsoft which like all dealing with Microsoft ended badly. Sun and SGI just fell to Better Value Microsoft PC's, and bad management [overspending].
Oddly Googles Android is a success story; set to overtake Windows this year. In reality only Linux is truly open source with its slightly amended GPL2 License, the rest is Apache which is why Google do not [and in some cases haven't] released the code for versions of its software. The reality is most of its value comes from its [cross platform] closed applications and web services...which aren't open source.
No.
Yes
I dont consider *new* languages for which there is no open source implementation of the core language available. This is not because i dont like to pay but because in the case of small languages/domain specific companies you never know ehen they go belly up or are bought and what happens then.
Perhaps
From kickstarter campaign:
We have selected the GPL because it encourages sharing by ensuring that any applications created with it are also open.
This isn't true for any current compiler available under GPL, why would it be true for thier compiler?
Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
The object is to give away the basic kernel which won't be able to do much. You will have to purchase lots of add-on modules to finish a project but pay higher license fees to sell commercial apps. This is pretty much the model they appear to have now; classic razor - razor blade approach.
Paying to get something nice open sourced is a good thing.
Paying to have a stripped down IDE and language open sourced... not so much.
If you want to learn programming, use JavaScript, Python, or Ruby; they're free, easy-to-use, and they scale up to real problems.
How do you define success? Your open source language project doesn't have to be good to be popular (example: PHP), but it must have a certain audience that finds it appealing. Open sourcing the project is not a magic bullet; if nobody likes your product, you're out of luck. However, if you have carefully studied your audience and believe that such a step will remove the main roadblock for adoption for a large number of potential users, this is definitely worth doing.
You're mixing up compilers and compiler runtime libraries. What applies to one doesn't apply to the other.
Applications compiled with a particular compiler do not inherently fall under the copyright license which covers that compiler's implementation, because no copying of the compiler code is involved. However, it is quite common for compilers to provide libraries with which the code generated for the application is linked, and static linking to such libraries would in general propagate the license carried by the libraries. This is why such libraries normally offer a linking exception in order not to taint the generated code.
If linking to such libraries is only dynamic then a large majority of legal opinion suggests that the generated code does not become a derived work of the libraries because the two remain separate, and mere usage is not copying under the terms of the Copyright Act. Nevertheless, to avoid lawyers getting involved and wasting everyone's time in court, it is best to provide a linking exemption even if the compiler libraries are to be linked dynamically, just in case.
Looks like people like to tap into the Slashdot's pool of personal opinions. Sure way to get some comments going on.
No. If they want to extend buy-in by releasing a limited open source version that is their prerogative but 1) it is not worth paying money for since it is a marketing expense of their company and 2) I doubt it will work. Why bother going to a closed model? Two salient experiences: /. thread.
Salesforce. Has a very strong product with huge interest. A managed, growing language and set of libraries. Drawbacks are it must run on their server, and many undocumented things. If you have a reason to use Salesforce (and many companies do) it is great for what it does, but that is the antithesis of open source development which lets you run anywhere.
Firebird. This awesome DB was opensourced and forked out from Borland IIRC by the authors and the open source version took off. The open source version is where you expect to see forums, patches, new additions at a speed impossible for Borland or against their corporate rules. This would never have happened if it was a "lite" version.
MariaDB. See recent
Basically if you want to release a lite version do it on your own dime. If it is of any use on its own, it might get some attention.
It might grow beyond the commercial version. But don't expect significant buy-in, if the goodies are not available for free.
On the other hand if there is anything to the natural language idea beyond a hypercard style engine, it would be useful. Something more sophisticated than zork. If you provide a strong engine and documented api I could imagine a large community springing up to build plugins some free, some commercial, like joomla or wordpress. Doing a lite version is shooting yourself in the foot though.
Make it completely open. You might get kickstarter funds to do so. Then run a market for free and commercial plugins which can include substitute engines. You might even get some sharp scientists to use it as a testbed for their latest ideas. I haven't tried it so if it isn't more than hypercard though it will be pretty limited. If you have any intention of promoting development of real natural language and multiligual support, I could see it going places.
For example, instead of a line of code being translated into 10 times more characters, use 10 words to replace 100 lines of code. I have had some ideas along those lines myself. Somehow though I doubt this is the team that will provide the NLP coding engine to the open source world.
The question is: can they survive without going (partly) Open Source? The target audience for these kind of pseudo-programming environments is pretty small, and there's no major platform without an free SDK. The learning curve for cross-platform programming using Java or QT is not that big, either. So I think it's a good move to start giving some of it away to attract more paying customers.
This is not a lite version. The entire platform is being opened up, it is the same source base in the open and closed version. Students, teachers, in-house developers and those creating open source software can all use the entire feature set for free. The only thing you can't do is create closed source apps with the open version.
Sort of Worked for DigitalMars D Language.... but the community popularity fadded out some how, maybe because of the non compatible changes of the second generation of the language definition
http://i.imgur.com/Xa99lgw.jpg
.
Prisencolinensinainciusol. Ol Rait!
I have tried Runrev several times in the past. It has it's niche, and that was both a major strength and weakness. Like Hypercard there are things Runrev did quite well, but the programs I undertook went a direction that Runrev could not go. It also has the misfortune of trying to move into a space that other development environments already fulfill, are already open source, and already scale much wider.
That being said I would like to see an Open Source version if:
1. It retains at least the functionality of Enterprise V4 (I think that was the version)
2. One environment for all OS deployments (the license for these used to be separate)
3. It not only connects to it's own local DB, but will also connect to a remote DB on a local server
I believe this could be quite a nice development environment for lots of small desktop based apps. And no, it is not OOP, nor should it be, and that is a GOOD THING.
It's dead! Quit it! It is infrastructure. Get over it.
What are the chances that MySQL could make a successful transition to a dual-license model?
But of course it's worked well for them. And I suspect it'll work well here, for the same reasons.
If LiveCode were going fully GPL only, it would lose some of its greatest benefit, its uncommon value for making proprietary commercial apps. It's proven itself well over the years for that, but the nature of the language makes it so accessible that it could benefit the FOSS world equally well.
This dual-license model they've chosen seems a clear winner to me.
No.
Easy, isn't it?
"Little does he know, but there is no 'I' in 'Idiot'!"
It amazes how quickly things move off topic. The "it's not as good as x" or "only real men program in x" folks really feel a need to hop in. I fall into the category of programmer that makes his extra money programming, the day job pays the rent. I also use the tool, or language, that gets me where I want to be with the least amount of hassle. The world really is big enough for a number of languages.
LiveCode has its place. It is fast and convenient to develop in. The primary issue is its distance to native APIs and raw speed for numerically intensive stuff. If the language doesn't support it, it is a bother to get there. Fortunately, it is rarely a problem.
On to the real question, can this be a successful? Yes, as others have pointed out, it has worked before in similar cases. In the dual license situation, you get the tool for free if you want to give your work away. If you don't, you pay to earn your income. Should it be successful? Yes - it is a very approachable language which is a benefit for those learning to program (the syntax stays out of the way) and, for the same reason, a fast, efficient, and comfortable language to develop apps in if you don't need raw speed.
I completely agree that verbosity should be avoided, and so should the use of special characters.
Syntax that needs detailed comments is also not very good.
I much prefer to write
if x<>0 and y/x<z then exit repeat
than
if ( (x!=0) && (y/x<z) ) { break; };
The first line looks cleaner to me: fewer special characters.
Note also that the division of y by x will not be tried because LiveCode's "and" operator is specified to skip if its first operand is already false. Many languages fail to tell you what must happen in these cases and then implementations differ.
Finally, how many seasoned programmers still fall into the following trap when something changes and the code now becomes:
if x=0 or x/y<z then exit repeat
but in C-like syntax they then write:
if ( (x=0) && (x/y<z) ) { break; };
forgetting the extra = sign.
Clean syntax does help reduce the debugging time.
I don't like programing in modern languages because their not a lot of fun. Python Ruby, etc... Live code is both approachable, and fun. Now fun is a vary subjective thing, but I think Live Code would come out hight on the fun factor
I've been making a living out of my LiveCode projects and consulting. Its a very versatile language and I don't miss OOP while working with LiveCode, its just a different paradigm. I've shipped software for Windows, Macs, iOS and Android with it. I've never shipped commercial software on Linux but I have some freebies flying around made with LiveCode.
Its a very easy to use language with enormous potential for those that are just starting out. The ratio between time invested and what I can produce is very good and I recommend it as a first language. A FOSS version will be great and enable even more people to have access to it. I will support this kickstarter in any way I can :-D
if you want to be successful as a language, you need to go open source.
I have been in charge of the development of an OSS (GPL) language - albeit very different from the one mentioned in the OP - called Obyx (cf. http://www.obyx.org/ ). Our motivation for OSS was so that clients would feel less bound to a proprietary model. We use (and love to use) Obyx for the development and deployment of dynamic web services. The actual effect of changing the license model (much of our remaining software is proprietary and closed) has been nominal - it has meant that we have shifted more of our income from build/production to support/maintenance services. As a direct income provider, Obyx has given us none. We haven't seen a big uptake of the language (we haven't promoted it), so the number of coders is in the tens.
However, when evaluating our decision, I talked to various individuals and organisations who found that OSS licenses can have a dramatic uptake to it's useage. This is most often the case when the software is chosen to be rolled out as a component of a Linux, when users (and interest) may jump to millions overnight. However, such events are rather like winning the lottery.
In retrospect, outside of CS theory, there really isn't a strong demand for new languages. Secondly, what is your motivation? Direct income, or uptake? These two are not always compatible. As I have implied, selling a language is not going to work in the long term. Languages themselves, to survive, must be free (as in beer) to use to the programmers. Language support services (and the services that you sell that use the language you develop) however, are all legitimate income sources.
This comment was written with the intention to opt out of advertising.
I think the motivation is primarily uptake but there's going to be some interesting side effects. For example there are a number of people very keen to see this on the Raspberry Pi which will require an arm Linux engine as currently we only have x86. As the core goal of the Raspberry Pi is programming education I think LiveCode will fit nicely between Scratch and Python. The language is very much like the scratch language without having to drag blocks around.
I am starting to wonder if pitching the kickstarter as being for open source was a mistake. People are wondering why that costs anything. It would have possibly been better to just say... we're going open source but we want funding to make some massive changes to the platform. Here's an example of one of the core goals of the project http://blog.runrev.com/blog/bid/265511/Open-Language which I think is huge. Besides being able to extend the language with DSLs for your data model or library which is big on it's own there's two other VERY interesting possibilities:
- create functionally equivalent syntax in another natural language (e.g. French like syntax rather than english) and the engine could display whichever syntax the reader preferred.
- add other existing scripting languages (e.g. javascript or python) therefore giving them a cross platform UI framework
get the last word of the first line
put it on the last line
Note the use of the it variable reference to what was last got by a get command. Cool, eh, and almost twenty years ago...