2

The MASM32 documentation clearly states that the GPL violates MASM32's license, and therefore cannot be applied to projects built with MASM32.

The MASM32 project cannot be used to create open source software or any other project under any form of licence that requires the user of the MASM32 project to surrender the rights they are afforded under the MASM32 licence. In particular the MASM32 licence completely excludes projects licenced under the GNU organisation's published GPL licence and/or variants.

However, no guidance is given on what licenses are MASM32 compatible. My best guess based on the general push for freedom and not restriction in the MASM32 license is that the MIT license would be compatible. However, I'm not a lawyer. Anyone else gone down this path already and figured out which licenses are able to be used with MASM32?

migrated from stackoverflow.com Sep 4 '14 at 23:52

This question came from our site for professional and enthusiast programmers.

  • I'm not questioning the basic premise of your question... but does that site really have any official standing, or connection to MASM? Much of the site is amateurish, confrontational, and even bitter in tone (e.g. masm32.com/myths.htm). And if this site is in fact completely unofficial, what basis does it have for replicating the MASM license or for making authoritative-sounding pronouncements about it? – user1172763 Sep 5 '14 at 15:31
  • From what I read, Microsoft made MASM itself freely available under a EULA that brings about the "MS-only operating system" requirement. The rest of "MASM32" is an SDK that Hutch developed himself and packaged with MASM in accordance with the MS EULA. – Brian Knoblauch Sep 5 '14 at 18:54
  • "Enjoy this $0.00 development tool I wrote HEY NO WRITING FREE SOFTWARE!" – user1172763 Sep 5 '14 at 21:08
4

Few, if any, open-source licenses are usable. I can pretty firmly say that the MIT/X11 license, the Apache license, all forms of the BSD license, the Creative Commons - Attribution licenses, and the Mozilla Public License are all incompatible with the statements of the MASM32 license as all require some kind of "acknowledgement of origin" or "credit" to someone as part of their terms.

A little less firmly, I could say that use of MASM32 is basically incompatible with the Open Source Definition, as the tenets of the OSD include "No Discrimination Against Fields of Endeavor" (MASM32's idea of "illegal software" falls afoul of this) and "License Must be Technology-Neutral" ("only write software for Windows" falls afoul of this). This is a fuzzy, lawyer-requiring situation (I'm not one) — if your project is distributed under an OSD-compatible license, does the fact that MASM32's license prevents building it under certain situations void your license? Someone could in theory fork your code, remove the dependency on MASM32, and continue to distribute it under your license. I won't speculate.

But in my opinion using MASM32, or encouraging its author by taking its ludicrous demands seriously, constitutes bad form, even if you think you can work around them.

  • The restrictions do make it awkward since I'd hoped to share my source code freely, but in today's world that's not safe without a license unfortunately. Alternate environments are available (JWASM, etc.), but MASM32 really is the cleanest set of tools IMO. Oh well, I guess I'll have to decide between MASM32 and being able to share my code. – Brian Knoblauch Sep 5 '14 at 11:42
3
#include <ianal.h>

There are some key points in the MASM32 license that are in conflict with a number of different open source licenses.

Users of the MASM32 project must be willing to accept the full and unconditional responsibility for the software that they write using the MASM32 project.

This would seem to run counter to projects that are licensed under BSD and similar permissive licenses. For example, from the BSD 2-clause license

This software is provided by the copyright holders and contributors "as is" and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall the copyright holder or contributors be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage.

Converted to sentence case for ease of reading

Licenses such as Apache would not run into this problem.

Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.

The key points that hit the GPL are enumerated in the "What you CANNOT do with the MASM32 Project"

  1. The MASM32 Project is not an item of trade or commerce. It cannot be either purchased or sold.
  2. The MASM32 Project cannot be re-licenced or made subordinate to any other form of licence.
  3. None of its components or source code are redistributable.
  4. You cannot use the MASM32 Project to write software for Non-Microsoft Operating Systems.
  5. You cannot use the MASM32 Project to write any form of illegal software.
  6. The project does not authorise the use of the Microsoft Trademark in your software or claims that your software is certified by Microsoft.

Note that points 4 and 5 specially run counter to the GPL which, I would assume, contends that writing malicious software (its defined in the license) is one of the freedoms that is protected by its license.

Furthermore, the MASM32 license doesn't require the distribution of the source.

Thus, it seems to read that a license that doesn't categorically disclaim warranty, or impose additional requirements on the author of the code (must distribute source upon request), or has some copyleft attached to the license.

Note, that this reading could be completely off. From the license page:

The MASM32 project cannot be used to create open source software or any other project under any form of licence that requires the user of the MASM32 project to surrender the rights they are afforded under the MASM32 licence. In particular the MASM32 licence completely excludes projects licenced under the GNU organisation's published GPL licence and/or variants.

A valid reading of this is "nope, no open source licenses at all" in which case its the default you own it, 'nuff said license only.

The only authoritative source for this can come from a lawyer or Steve Hutchesson (the credited author of the license page).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.