Hi nerds, I’m Sara and I’m a girl developer, or a “gerd” if you will. I am an ASP.NET/C#/SQL software engineer. I like to think I have lots of hats though. I’ve worked on all different sized projects, high volume and low volume sites. Different types of databases. One thing that is very unique about the project I am on right now is that I’m doing it all by myself! I am used to working with a team of awesome developers. Sara is a DZone MVB and is not an employee of DZone and has posted 21 posts at DZone. You can read more from them at their website. View Full User Profile

There is No Such Thing as Proprietary Client-side JavaScript

  • submit to reddit
About 3 years ago, I launched my first product. I built it with two fabulous partners, who continue to produce awesome things. It was a little app, and a tool I thought made for better web. It is no longer online, due to costs, it was a URL aggregator called bundl.it. It was a big deal for me, as it was something I made, and put online for others to use. It was a useful tool, and I'm still very proud of it.  

  A year or so later an established website in the same industry launched a feature that was doing the exact thing that my app was made for. They even gave it the same name.

  When the news hit I was flooded with emails from friends and folks that had happened upon my site. "Hey, are you working with xxx?", "Did you see what xxx did? They totally copied you!", "How could they do that, I'm so sorry. You should do something.", "Are you going to go after them?"

  At the time I was disappointed, not because my idea had been "stolen," or "copied" by a larger company. I was disappointed because I knew that had I put my all into this product, if I had followed through with support, focused more on marketing, and funneled my energy in this product there wouldn't be market to steal.    In other words, it was my responsibility to make my tool the staple the internet needed. However, the field was wide open, because I left it open. There is no such thing as disruption from the couch, and that was the valuable lesson I learned from the experience.   

Another lesson I learned, is that people seem to think they own ideas on the internet. Or, in this case, that I owned my idea that I put on the internet.   

We have seen a lot of arguing back and forth about these issues as the landscape of the web is starting to be sheriff'd. SOPA, The Winklevii, and hundreds of completely absurd patent lawsuits. These issues has made the concept of ownership of 1's and 0's on the forefront of world issues we face every day.

  As the world of software development becomes en vogue, we are seeing this issue broached by new developers and veterans alike.  The idea of code "ownership." The idea that the method, or the algorithm makes you money, and therefore is proprietary.

  Web pioneers like Torvalds, de Raadt, Stallman, and DeIcaza battled on this ground. They created the free software movement, GNU/Linux, Git, Open BSD, and GNOME and told big-co software companies to go screw as they opened up their code for fellow developers to learn from, to better their craft. The sharing of ideas for a better internet.    Yet, still today, people sue over simple equations behind engines making millions of dollars. NDAs and invention agreements are everywhere and claim to cover websites, executables, webapps, modules, functions, and methods alike.

  However, in the midst of it all, lies client side JavaScript. I freaking love this shit. I'm here to say there is no such thing as proprietary client side JavaScript. Again, there is no such thing as proprietary client side JavaScript!

  You can protest, argue, call people thieves, stake the moral high ground, and point fingers all you want. There is no obfuscation, everything you have done is right out in the open for everyone to see. More importantly, everything you do is in the ecosystem for people to learn from. I think it's a great proof of concept as I've never heard anyone get angry at someone else for stealing something they have written for the DOM.  

People don't run around copy -> pasting things they find elsewhere. For many reasons, mainly, your style comes through in what you write. Your code is your signature, and someone else's never can express your unique type of art. When it does happen (which it does), it is a matter of ethics, not law or government. Clientside JavaScript is policed by the JavaScript community, and if you're a thief that copies and pastes, people know.

  Not all of us write JavaScript clientside. So we all can't go about just assuming people can learn from the things we have created. So I have a few suggestions.   

Obviously, there is Github, and any startup that puts their code out there for people to learn from is an open web advocate in my book. That also means we need to stop signing agreements that include clauses about the ownership of syntax (I will from this point on not be signing such contracts). This means educating the people we work for about the developer community, how we help each other, and how being open puts you in a unique position to improve your standing, and help others.   

Funny enough, developers are now in a place of power that we haven't known before. Recently, I've seen a new form of currency sweeping the world of business. Developeronomics. From the lone startup founder, to the VC; from the Mom and Pop shop, to the Hedge fund douche bags, from the CEOs of big corp to the teachers of public schools, there is something they all need. Web developers, good ones. Enough to offer obscene salaries, equities, weekly backrubs, briefcases of cash, and sexy parties to the crack team of developers they employ to carve out their section of the internet.

  This puts the development community in a unique position. Do we copy the established business community in the money grab? Do we want to line pockets while cranking out "It's this for that's" with every nerd for his/herself on the terms of "my code, my product, my creation?"

  We've seen what that has done for the remnants of the industrial age, with huge corporations being the enemy of the individual. Where corporations battle each other in the media, and keep a tight grip on information, even if it means people losing lives. Where advancements are being retarded by a legal cat and mouse game, because the information companies hold dear could help all of us the world over if they would join forces.   

What a beautiful place we are at where we can make a conscious decision not to follow in their footsteps. While the internet and it's implications are still being formed every day. When we decide that the education and advancement of future developers, our children, and the history books are more important than lining our pockets (seriously, how expensive can comfy sweatshirts and Vibram Five Finger shoes be?)   

Where would we be now if John Resig decided to keep his little library to himself? If DHH kept his framework proprietary? How much further could we be if more people shared the way they did?   

I'm pledging to work for an open web and open code, a place where we can all share, learn, and invent together. I hope you will too.

Source:  http://www.sarajchipps.com/2011/12/there-is-no-such-thing-is-proprietary-client-side-javascript.html

Published at DZone with permission of Sara Chipps, author and DZone MVB.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)


Jacob Kristensen replied on Thu, 2011/12/29 - 3:42pm

This anti-proprietary software nonsense has got to stop, there are situations where proprietary model works best. You should also keep in mind that proprietary doesn't have to mean closed source. Open is not always better, and that mindset is simply in direct violation with fundamental rights of the creators of said software. My creation, my rules! And nothing should be able to interfere with that.

The creator should always be free to chose how they want to distribute their software, whether or not they make it proprietary and/or share the source code.

People have a nasty tendency to carelessness about these fundamental rights, which again leads to unjustified interference from governmental forces. Its happened in the EU, and it will likely happen again. Its not just about software, its about our personal freedom. I don't want the government sticking their nose into matters not concerning them, not in my life time, not if i can help it. No way, period!

Senseless whiners will always be whiners, they wont care about right and wrong. If they can get something from sacreficing their soul to the devil in a moment of madness or panic, then they won't have any problems doing that. That is exactly what we see happen currently, with this anti-proprietary attitude.

Tom Tuddenham replied on Thu, 2011/12/29 - 5:53pm

Thank you Sara. This post is just excellent. "Open web and open code" is such a beautiful sentiment, and I wholeheartedly agree with where you are coming from. I say yes too.

There's value in openness and there's value in proprietary systems, and I agree with Jacob that creators of software are free to choose which model suits them. I just think "open" is a better choice. :)

 So again, thank you. Have a wonderful New Year. 


Kathy John replied on Thu, 2012/02/23 - 9:58am

As I understood, pretty much what you said about the free software movement opinion does not applies to Linus Torvalds. He pretty much disagree a lot with Richard Stallman. He even said the hate for Microsoft is a disease (back then when MS was a company people love to hate).

As for the client side javascript, I would agree with you there is almost no such things as proprietary client side javascript. Things such as code and data that you put out in the open (to be consumed by web browsers) can have its own terms of use IF you decide it so.

Kookee Gacho replied on Thu, 2012/06/14 - 6:24am

JavaScript's use in applications outside Web pages — for example in PDF documents, site-specific browsers, and desktop widgets — is also significant. Newer and faster JavaScript VMs and frameworks built upon them (notably Node.js) have also increased the popularity of JavaScript for server-side web applications.-Arthur van der Vant

Carla Brian replied on Wed, 2012/07/04 - 6:22pm

Good to know about this one. For context, it helps to remember that the GPL and LPGL were written in the Unix era when most everything was statically linked.- Mercy Ministries

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.