Open source, closed source, and the value of code
ambassador at fourthworld.com
Mon Feb 29 14:18:13 EST 2016
While doing some research on Xanadu and Memex this weekend I came across
this video of Bill Atkinson which seemed relevant to some of our recent
threads here about the value of code:
"HyperCard was always an authoring environment, it
was never just browsing. I didn't separate the guys
who consume the information from they guys who create
it. I was open source before open source was cool,
because you could open up any HyperCard stack, any
button, and look at what it does inside.
"The primary requirement of the HyperTalk language was
that it be readable by somebody that can look at it
and see what was going on - 'Oh, on mouseUp, go to
next card' - somebody could see that and maybe modify
it a little bit.
"Every HyperCard stack that you got had buttons and
things in it and people learned from each other. It
was kind of an open source programming environment
because people exchanged HyperCard stacks. It was
sort of Github before Github."
As we explore the relative merits of different licenses here, both
proprietary and open source, I think it's helpful to remember how most
of us got started: we got a stack from a friend or a user group CD or
from our local Wildcat BBS, we studied it, and we tweaked it.
Much of our learning came from experimenting with other people's stacks,
and the ones we found especially useful were often useful because we
could tailor them to fit our specific needs.
It isn't possible for any single code base to address all possible use
cases. And it isn't practical to rewrite every code base from scratch
just to get the other 10% of functionality we need from it.
Imagine how small the Web might be today if not for open source, if
every Web server had to be written entirely from scratch every time
someone needed a small change, or pay tens of thousands of $$ to some
company and wait months for the enhancement to be released.
The Web is rich and diverse because most of it is free and open, from
the browser engines that render it to the router OSes that deliver it to
the databases that store it to the applications that serve it.
Consider the world's most popular programming languages, as ranked on
the TIOBE index:
Nearly every one of them is open source, and the few that aren't remain
on the list only for historical reasons no new tool could reproduce, and
they aren't growing. With dev tools, growth is in open source.
There's still a vast range of opportunities for proprietary software for
end-users, but for tools and infrastructure the growth of open source is
both undeniable and unstoppable.
Better still, the relationship between the two is largely symbiotic:
much of the funding for FOSS projects comes from companies who earn at
least part of their revenue from closed source, and they're able to earn
that money by building their companies around tools and infrastructure
provided by the open source world.
Both proprietary and open source software are growing, rapidly, with no
sign of slowing in the foreseeable future.
And LiveCode is dual-licensed, able to play a valuable role for each.
When you're running a business that pays the bills from per-user
licenses, LC's Indy and other commercial licenses are among the smallest
expenses a company will have, even at the new rates.
But if you're not running a business, perhaps ask yourself: what is in
the code that's more valuable closed than open?
I've never written anything that any reasonably smart person couldn't
reproduce if they really wanted to. The value of my products isn't in
the code alone, but in a complete solution that includes documentation,
support, and strong relationships with customers that put them in the
driver's seat of feature development. Sometimes I write some nice code,
but if I'm being honest with myself I have to admit I'm not exactly
splitting the atom. :)
When code is shared many good things result. The very least that
happens is that some young soul learns from it, and gets inspired to go
on to make great things. After all, learning from other people's
HyperCard stacks is how most of us here got started.
For consultants, sharing code builds a reputation as a source of solutions.
For businesses, sharing code opens the door for enhancements from others
so your app can grow in capabilities beyond your own developer resources.
I met Ryan Sipes of the Mycroft AI project at the SoCal Linux Expo a few
weeks ago, and he says that what confirmed his hunch that taking his
product open source was a good idea what when he got his first pull
request just 20 minutes after putting it on Github:
Open source isn't for everyone, and even when it is there are many
licenses for many goals.
But when the goal is sharing, GPL is a very good choice because it
ensures the chain of sharing can't be broken; no one can hoard the code,
everything distributed gets shared back to the community from which the
original work came so everyone can enhance it even further.
If you're building a business around per-user license fees, LC offers a
solution for that.
But if you're just having fun, sometimes the fun can be multiplied
All code that does something useful has value. But the value is only
sometimes optimally exploited through sale, and other times through
community enhancement and knowledge sharing.
Fourth World Systems
Software Design and Development for the Desktop, Mobile, and the Web
Ambassador at FourthWorld.com http://www.FourthWorld.com
More information about the Use-livecode