Open source, closed source, and the value of code

Richard Gaskin ambassador at
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 
through sharing.

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.

  Richard Gaskin
  Fourth World Systems
  Software Design and Development for the Desktop, Mobile, and the Web
  Ambassador at      

More information about the use-livecode mailing list