<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Marty&#039;s Mind &#187; Open Source</title>
	<atom:link href="http://martysmind.com/category/open-source/feed/" rel="self" type="application/rss+xml" />
	<link>http://martysmind.com</link>
	<description>Marty Poulin&#039;s Random Thoughts</description>
	<lastBuildDate>Mon, 30 Jan 2012 00:26:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Why not C Sharp?</title>
		<link>http://martysmind.com/2010/01/15/why-not-c-sharp/</link>
		<comments>http://martysmind.com/2010/01/15/why-not-c-sharp/#comments</comments>
		<pubDate>Fri, 15 Jan 2010 20:12:49 +0000</pubDate>
		<dc:creator>Marty Poulin</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://martysmind.com/?p=122</guid>
		<description><![CDATA[The choice of which technology and language a project is built on can be divisive. We wed ourselves to the tools we know best and identify with the solutions we employ.   While there are zelots in the PC vs Mac debates, the hotter arguments in tech circles frequently revolve around what technology will mean success. One debate [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-medium wp-image-126" title="Microsoft-Dot-Net-Old-Logo2" src="http://martysmind.com/wp-content/uploads/2010/01/Microsoft-Dot-Net-Old-Logo21-300x185.png" alt="Microsoft-Dot-Net-Old-Logo2" width="300" height="185" />The choice of which technology and language a project is built on can be divisive. We wed ourselves to the tools we know best and identify with the solutions we employ.   While there are zelots in the PC vs Mac debates, the hotter arguments in tech circles frequently revolve around what technology will mean success.</p>
<p>One debate that comes up in game development is the use of any language other than C/C++.  The C/C++ languages have been almost the exclusive language for game engines since its beginning.   While developers my also adopt scripting languages (many times to offload work to less technical game designers) the core that makes the engine do its magic is in C/C++.</p>
<p>With the advent of new technologies does this still make sense?<span id="more-122"></span></p>
<p>Microsoft has for some time been promoting an hier to the thrown in C# which is built on top of its .Net platform.  Why not C#?  I honestly like C# and believe that it is in many ways a step up that can help with productivity. C# has many of the advantages of Java without being as bloated.  It is more secure by nature and protects programmers from common mistakes.</p>
<p>That said, in some cases C# does not make business sense.  If you invest 10-20 million into a game, you expect the best return on that investment. The ability to release that game on multiple platforms (PS3, Wii as well as XBOX) can double your returns for small additional development time&#8230; if you program it in C or C++.</p>
<p>That may change.  One of our favorite small game engines Unity3D is scheduled to be release on other consoles.  When it does it will bring it&#8217;s version of the .Net runtime along with it.  Since the main engine is already in C++ it preforms significantly better than C# for most of the heavy lifting, leaving game logic to C# which is significantly faster than most scripting languages.</p>
<p>If your target is XNA or Unity3D then C# is the obvious choice.  To go beyond those use cases Microsoft will have to work to make the CLR a lot more open. Releasing the core of .Net under a BSD or MIT license (rather than the more restrictive GPL/LGPL for Mono) would allow developers to integrate C# on any platform and modify it to perform efficiently for their games.  Till that happens  (or Unity3D becomes a real competitor on all platforms)  console development will belong to C and C++.</p>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Why not C#?</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">I honestly like C# and believe that it is in many ways a step up that can help with productivity. C# has many of the advantages of Java without being as bloated.  It is more secure by nature and protects programmers from common mistakes.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">That said, in some cases it does not make business sense.  If you invest 10-20 million into a game, you expect the best return on that investment. The ability to release that game on multiple platforms (PS3, Wii as well as XBOX) can double your returns for small additional development time&#8230; if you program it in C or C++.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">If your target is XNA or Unity3D then C# is the obvious choice.  To go beyond those use cases Microsoft will have to work to make the CLR a lot more open. Releasing the core of Silvelight under a BSD or MIT license would allow developers to integrate C# on any platform and modify it to perform efficiently for their games.  Till that happens console development will belong to C and C++.</div>
<i>Scridb filter</i><!-- Scridb filter-->]]></content:encoded>
			<wfw:commentRss>http://martysmind.com/2010/01/15/why-not-c-sharp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Future of Web3D</title>
		<link>http://martysmind.com/2009/11/15/future-of-web3d/</link>
		<comments>http://martysmind.com/2009/11/15/future-of-web3d/#comments</comments>
		<pubDate>Sun, 15 Nov 2009 09:25:51 +0000</pubDate>
		<dc:creator>Marty Poulin</dc:creator>
				<category><![CDATA[Friends]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[ShadyLogic]]></category>
		<category><![CDATA[Web2.0]]></category>

		<guid isPermaLink="false">http://martysmind.com/?p=107</guid>
		<description><![CDATA[I had the good fortune to present on the Future of Web3D as part of a panel at the Web3D symposium at SIGGRAPH 2008.  This is the segment on Youtube. http://www.youtube.com/watch?v=YMdKdzqanmw It was a great panel put together by Rita Turkowski of Intel and featured Remi Arnaud, Johannes Berh, Mimi Harris, Doug Twilleager, Christian Renaud, Vladimir Vukicevic [...]]]></description>
			<content:encoded><![CDATA[<p>I had the good fortune to present on the <a href="http://www.web3d.org/conferences/web3d2008/program/index.html#panel">Future of Web3D</a> as part of a panel at the <a href="http://www.web3d.org/conferences/web3d2008/program/index.html#panel">Web3D symposium</a> at <a href="http://www.siggraph.org/s2008/">SIGGRAPH 2008</a>.  This is the segment on <a href="http://www.youtube.com/watch?v=YMdKdzqanmw">Youtube</a>.</p>
<p style="text-align: center;">
<p><a href="http://www.youtube.com/watch?v=YMdKdzqanmw&#038;fmt=18">http://www.youtube.com/watch?v=YMdKdzqanmw</a></p>
</p>
<p>It was a great panel put together by Rita Turkowski of Intel and featured Remi Arnaud, Johannes Berh, Mimi Harris, Doug Twilleager, Christian Renaud, Vladimir Vukicevic and Mark Young.</p>
<p><span id="more-107"></span>I still like <a href="http://en.wikipedia.org/wiki/X3D">X3D</a> for the sheer boldness of trying to define a standard that can completely describe 3D in XML for the web.  It is a bit heavyweight for many applications and the tools are still rudimentary for general consumption, but is still the only standards compliant 3D implementation for the web.</p>
<p>I think we are a bit too early for Web3D standardization.  At this point &#8220;competition is good&#8221; as evidenced by Unity3D and others coming up under the radar.  It is great to see it mature and evolve.</p>
<p>Kudos for a fun panel to Rita and the gang!</p>
<i>Scridb filter</i><!-- Scridb filter-->]]></content:encoded>
			<wfw:commentRss>http://martysmind.com/2009/11/15/future-of-web3d/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sleeping with the GPL</title>
		<link>http://martysmind.com/2008/02/10/sleeping-with-the-gpl/</link>
		<comments>http://martysmind.com/2008/02/10/sleeping-with-the-gpl/#comments</comments>
		<pubDate>Sun, 10 Feb 2008 04:01:34 +0000</pubDate>
		<dc:creator>Marty Poulin</dc:creator>
				<category><![CDATA[Legal]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Web2.0]]></category>

		<guid isPermaLink="false">http://martysmind.com/2008/02/10/sleeping-with-the-gpl/</guid>
		<description><![CDATA[Today there is a lot of misunderstanding and confusion about what uses of GPL’d software might compel a company to open source their software. Having run into this issue at Disney, Sony and several startups, this article is meant to clarify my own understanding as well as hopefully help a few others make informed decisions. [...]]]></description>
			<content:encoded><![CDATA[<p><a href='http://gnuart.onshore.com/uncle_gnu_i_want.html' title='GNU wants U'><img src='http://martysmind.com/wp-content/uploads/2008/02/gsam_want_gnu_big.jpg' alt='GNU wants U' /></a>Today there is a lot of misunderstanding and confusion about what uses of GPL’d software might compel a company to open source their software. Having run into this issue at Disney, Sony and several startups, this article is meant to clarify my own understanding as well as hopefully help a few others make informed decisions.  Please note that I am not a lawyer and this article must not be relied upon as a substitute for reading the GPL and obtaining specific legal advice from a licensed attorney.</p>
<p>While there are many less restrictive licenses (<a href="http://en.wikipedia.org/wiki/Free_software_licenses">MIT, BSD, MPL, etc.</a>) the <a href="http://www.gnu.org/copyleft/gpl.html">GPL</a> is perhaps the least understood and most feared by business. To an extent this confusion shouldn’t be a surprise.  The FOSS ( Free and Open Source Software ) movement is made up of an array of activists that have slightly different ideals.  Since to an extent law relies heavily on intent and consistent treatment, the inconsistencies in this approach muddy the waters. When over time the leaders of the movement make contradictory statements regarding the scope and intent to the GPL, this injects Fear Uncertainly and Doubt (FUD).<br />
<span id="more-61"></span><br />
Making matters even more confusing, copyright law is also in sad shape in relation to basic tenants that the GPL relies.   For software, what constitutes Fair Use and Derivative works are at odds within case law.  On one extreme, case law infers that a product is derivative even if you have copied no code from the system it interacts with.  On the other, conflicting case law infers that it is Fair Use to reverse engineer a system to utilize it without worrying being considered derivative.</p>
<p>Which of these precedents we think will play out is potentially random and depends a lot on the way we use the code.  Without explicit exclusions set down from developers we have to go back to the intent of the authors of the license itself.  In this case the <a href="http://www.fsf.org">Free Software Foundation</a> specifically spells out its beliefs.  In their interpretation of the GPL your program IS derivative if you include GPL code or link to GPL code in any way (dynamically or statically).</p>
<p>There are several acknowledged exceptions to this rule such that your program may NOT be considered a derivative work.</p>
<ol TYPE="1">
<li>You may dynamically link against a standard interface where other existing libraries may be substituted.</li>
<li>You may execute a GPL program via fork() or execute().</li>
<li>You may communicate with a program via standard network and IPC mechanisms.<a href="http://www.fsf.org/licensing/licenses/gpl-faq.html#MereAggregation">*</a> </li>
<li>You may distribute your program and a GPL program in aggregate (on the same medium) provided they are still represent separate programs and the terms of the GPL are observed.</li>
</ol>
<p>These exceptions give us enough rope to use GPL’d programs and libraries in conjunction within a larger closed source systems.   On top of these some developers may add additional explicit exceptions like allowing dynamic (<a href="http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html">LGPL</a>) or static linkage.  In some cases it may also be possible to contact the developers and negotiate a closed source license that removes the limitations of the GPL all together.</p>
<p>There is one other notable loophole.  The GPL only kicks in when you distribute the derived program. If you do not distribute a derived program to people outside your company you do not have to distribute your closed source.  You may even use GPL derived software as a service and charge money for it without releasing any code.</p>
<p>In practice this loophole does have a couple gotchas.  The first is that you cannot sell or give the derived program to another company or person. The second that many do not consider is that during some M&#038;A transactions the company is selling the assets rather than merging the companies and selling the assets may also be considered a distribution.  </p>
<p>Of course as with any software your license (FOSS or commercial) you should be cognizant of the patent issues, indemnification, additional license restrictions (e.g. GPL3 restricts DRM) and the total cost of ownership related to maintenance and support.  As with anything we do as companies there is more to the bottom line than the price tag coming in the door.</p>
<p>The other thing to consider is the perception of the public and the FOSS movement.  You are using FOSS software and the implied contract is that you will participate in the community and contribute improvements.  It is not enough to use FOSS, you should adopt a policy that states how you use FOSS and how you support it.  Working with FOSS developers and being a good citizen goes a long way.</p>
<p>References:</p>
<p><a href="http://www.gnu.org/copyleft/gpl.html ">http://www.gnu.org/copyleft/gpl.html </a><br />
<a href="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html">http://www.gnu.org/licenses/old-licenses/gpl-2.0.html</a><br />
<a href="http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html">http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html</a><br />
<a href="http://www.fsf.org/licensing/licenses/gpl-faq.html">http://www.fsf.org/licensing/licenses/gpl-faq.html</a><br />
<a href="http://www.bu.edu/law/lawreview/v85n5/Stoltz.pdf">http://www.bu.edu/law/lawreview/v85n5/Stoltz.pdf</a><br />
<a href="http://www.linuxinsider.com/story/38089.html?welcome=1202601329&#038;welcome=1202602307">http://www.linuxinsider.com/story/38089.html?welcome=1202601329&#038;welcome=1202602307</a><br />
<a href="http://en.wikipedia.org/wiki/Free_software_licenses">http://en.wikipedia.org/wiki/Free_software_licenses</a><br />
<a href="http://en.wikibooks.org/wiki/FOSS_Licensing/Scenarios">http://en.wikibooks.org/wiki/FOSS_Licensing/Scenarios</a></p>
<i>Scridb filter</i><!-- Scridb filter-->]]></content:encoded>
			<wfw:commentRss>http://martysmind.com/2008/02/10/sleeping-with-the-gpl/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

