{"id":192,"date":"2001-05-31T07:20:40","date_gmt":"2001-05-31T12:20:40","guid":{"rendered":"http:\/\/www.ashleyit.com\/blogs\/brentashley\/?p=192"},"modified":"2001-05-31T07:20:40","modified_gmt":"2001-05-31T12:20:40","slug":"the-restrictions-imposed-by-freedom","status":"publish","type":"post","link":"https:\/\/ashleyit.com\/blogs\/brentashley\/2001\/05\/31\/the-restrictions-imposed-by-freedom\/","title":{"rendered":"the restrictions imposed by freedom"},"content":{"rendered":"<p>I&#8217;m working on a new project.  Tomcat\/JSP\/Servlets\/Oracle.  There is a need for some synchronous RPC from client to middle layer.  I&#8217;ve been considering XML-RPC and SOAP, but have decided for a few reasons to use <a href=\"http:\/\/msdn.microsoft.com\/scripting\/default.htm?\/scripting\/remotescripting\/\">Microsoft&#8217;s Remote Scripting <\/a>with <a href=\"http:\/\/www-106.ibm.com\/developerworks\/library\/wa-resc\/?dwzone=web\">Erik Hatcher&#8217;s Java servlet<\/a>.  Time is of the essence, the specifications and tools for the other technologies are not mature, and another criterion that&#8217;s new to the game &#8211; intellectual property considerations.<\/p>\n<p>It&#8217;s 1998.  You want to add some new functionality to your commercial web application.  You hop on the net, search Altavista, and find a few Perl CGI implementations, a couple of shareware COM objects, some commercial executables and COM objects.  You decide which gives the functionality you want and you come to a pricing arrangement with them from zero to hundreds of dollars depending on the licensing, and you include its functionality in your offering, maybe add credits to your help page.<\/p>\n<p>Roll forward to 2001.  You want to add some new functionality to your commercial web application.  You hop on the net, search Google, and find a few Perl CGI implementations, some COM objects and Java classes, some commercial packages, and a whole raft of projects on SourceForge.  This time, though, it&#8217;s a minefield of <a href=\"http:\/\/www.gnu.org\/copyleft\/gpl.html\">GPL<\/a>s, <a href=\"http:\/\/www.gnu.org\/copyleft\/lesser.html\">LGPL<\/a>s, <a href=\"http:\/\/www.opensource.org\/licenses\/bsd-license.html\">BSD<\/a>s, <a href=\"http:\/\/www.eionet.eu.int\/software\/license.html\">Mozilla<\/a> and <a href=\"http:\/\/java.apache.org\/jserv\/license.html\">Apache<\/a> Public Licenses, <a href=\"http:\/\/www.wc.cc.va.us\/dtod\/mylicense.txt\">homegrown<\/a> licenses, et al.  Using a product may impose upon you perpetual requirements impacting source release, documentation, distribution, splash pages, derivatives&#8230; the list goes on.<\/p>\n<p>I&#8217;m not likely to convince my clients that they should open-source their heavily invested competitive vertical market solution in order to take advantage of the defacto reference implementation of this technology because it&#8217;s covered by the GPL.  Time being a consideration, I&#8217;m not going to wait until the legal department has had a chance to investigate the implications of ten different types of licenses.  So, we find a commercial implementation, build it ourselves, or use another technology that doesn&#8217;t burden us with these issues.<\/p>\n<p>Am I naive in thinking that I was much more free (read:unfettered) when I could just buy the damn thing and then use it?<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;m working on a new project. Tomcat\/JSP\/Servlets\/Oracle. There is a need for some synchronous RPC from client to middle layer. I&#8217;ve been considering XML-RPC and SOAP, but have decided for a few reasons to use Microsoft&#8217;s Remote Scripting with Erik Hatcher&#8217;s Java servlet. Time is of the essence, the specifications and tools for the other [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"activitypub_content_warning":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-192","post","type-post","status-publish","format-standard","hentry","category-blather"],"_links":{"self":[{"href":"https:\/\/ashleyit.com\/blogs\/brentashley\/wp-json\/wp\/v2\/posts\/192","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ashleyit.com\/blogs\/brentashley\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ashleyit.com\/blogs\/brentashley\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ashleyit.com\/blogs\/brentashley\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/ashleyit.com\/blogs\/brentashley\/wp-json\/wp\/v2\/comments?post=192"}],"version-history":[{"count":0,"href":"https:\/\/ashleyit.com\/blogs\/brentashley\/wp-json\/wp\/v2\/posts\/192\/revisions"}],"wp:attachment":[{"href":"https:\/\/ashleyit.com\/blogs\/brentashley\/wp-json\/wp\/v2\/media?parent=192"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ashleyit.com\/blogs\/brentashley\/wp-json\/wp\/v2\/categories?post=192"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ashleyit.com\/blogs\/brentashley\/wp-json\/wp\/v2\/tags?post=192"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}