Legal issues with Bmax extensions?

Archives Forums/General Discussion/Legal issues with Bmax extensions?

Jim Teeuwen(Posted 2006) [#1]
Lo peeps.

I'm currently in the testing phase of creating a blitzmax.NET compiler. This tool doesn't use Any of the existing Blitz software, just the language itself.

It compiles a blitzmax sourcefile into an optimized Pure-IL Assembler Executable.

I just realized though that BRL may have a word or two to say about that. I'm not much of a legal man so properly interpreting EULA's isnt my strongest point.

Any ideas on what BRL could have against this?


Dreamora(Posted 2006) [#2]
At best just contact them through mail.
boards are not the appropriate way for that.

And what you are mentioning is no extension.
What this would be would be an independent compiler that just "understands" the BM syntax.


Jim Teeuwen(Posted 2006) [#3]
I'd try email, but appearantly it's fairly well known that answering emails isn't a top priority at BRL ;)

I'll Continue working on it and we'll just see what happens.
Your right about it not being an extension.
On that note, IDE's that are made to work with BlitzMax basicly do the same. They just interpret the language and do something with it. My compiler is no different. And since they seem to be ok, I'll assume this one is to.


Damien Sturdy(Posted 2006) [#4]
IDE's arent compiling, theyre just syntax hilighting :) they dont create anything usable out of the code, and what they do do is call the BRL compiler to compile the code.

BRL arent likely to like what you're doing, though I think its a cool idea! :)


Jim Teeuwen(Posted 2006) [#5]
Also a good point.
Well, it isn't anywhere near a stable release version yet so there is some time left to see what can be done.


Winni(Posted 2006) [#6]
From the legal point of view, I do not think that you can run into serious problems. There is no patent on the BlitzMax language, because it basically is a BASIC, and that language family has been around for more than forty years now.

However, you -will- run into problems when you do one of the following:
- Call your own product BlitzMax.
- Advertise it as BlitzMax or use this forum as a means of distribution.
- Use any part of BlitzMax´s source code or documentation for your own product.
- Use reverse engineered BlitzMax code for your product. (Unless you used the clean room approach, which means that one engineer reverse engineers, documents and another engineer implements new code based upon the documentation of the first engineer -- the Mono project is doing that, by the way.)

However, if I was you I would prepare myself for the fact that you are not going to make yourself friends among the BlitzMax developers for cloning their product/language. Frankly speaking, I, personally, would be quite pissed off and sue the shit out of you if you tried to take over my market.

But other than that: If your compiler runs under Mono (on Mac OS X) and supports multithreading, I will take a -close- look at it and even consider buying a licence. ;-)


Jim Teeuwen(Posted 2006) [#7]
Thanks for the info m8.
Let me make clear first that I have no intention of selling anything. It's just a hobby project and if it succeeds, it will open up blitz to yet another potential market: The .NET developer community.

This makes it it significantly more powerfull and versatile.
In that respect I don't really see ow BRL can have a problem with it. Once again, I have no intention of stealing their customer base. If, and when, the project becomes commercially viable I am more than willing to let BRL handle it.

Basicly, I want this to be no different than a Module written in Blitz code. It's a tool, made by a developer, for developers. Heck, I may just release it as open source under the GPL license.


Dreamora(Posted 2006) [#8]
Bad thing is I would really look forward to a .NET compiler ... because BM as it currently stands is running with high speed against a massive wall:

compiler not .NET compatible nor can it link to them thanks to GCC
GUI not .NET ready, it is not even XP ready as it fully bases on components that even exist on Win98.

Within 2 years it will have serious problems if you want to create real apps. And I really want to develop efficient working apps for Vista and for XP SP2, not for windows versions officially abandoned. As it was ok for BRL to go the "modern" way on Apple, I think its fair that I as Windows User want a similar support on our side as well as the largest part of user after all is Windows based.

I'm not saying current BM is bad.
But I feel unhappy about the fact that the Windows Version just bases too much on the stone age blitz. if I wanted stone age blitz stuff I would use my B3D further and not payed 90$ for BM and another 30$ for MaxGUI... (MaxGUI bases on Blitz Plus which was great 2-3 years ago but a bad decision for WinXP and Vista and especially an OO managed environment. the DX driver we got is DX7 which even for crap cards like Intel is a worse decision so definitely not a step toward compatibility compared to OpenGL. Thanks to a community member we have a DX9 driver which clearly shows that as it already is 30-50% faster and that thought it has not been under dev and upgrade for over a year)


Winni(Posted 2006) [#9]
GPL sounds great. :-)

However, from BRL's business perspective, I think that this a bad thing to happen. After all, they already do offer a compiler that runs on three platforms, and by that they deliver more on the multi-platform promise than Microsoft ever will with their .NET.

Now from the customers perspective: Why would you want to buy a BlitzMax licence if you can have an open source compiler for that language that is completely source code compatible? At least on the Windows platform, they will lose customers.

This is one of the greatest problems with Open Source, by the way. Eventually, somebody will always start a "free" alternative to a commercial product, and by that killing the commercial product and the company behind it. The cynical part of it being the fact that the founder of the OSS project usually won't make a living out of his work, because with OSS, you usually simply can't.

OSS is a great marketing tool for big players like IBM. For smaller companies, it can easily become their death sentence.

Sure, BlitzMax wouldn't be where it is without all the Open Source modules that it uses. (So there now is that valid question: What do the developers of those modules actually do for a living? And did anybody at least donate some money to their projects?)

But having an Open Source version of a BlitzMax compiler available can only lead to one thing: Nobody will buy the commercial version anymore unless for some reason they have to.

In any case: This is a discussion you should have with Mark Sibly and his team.

Besides those legal and political and business related issues: Make sure that it also runs on Mono, especially when you want to put it under the GPL. It would also be mega-cool if SharpDevelop and MonoDevelop would have a plugin for your compiler plus syntax highlighting. Just my first input for the wishlist. ;-)


Who was John Galt?(Posted 2006) [#10]
I wouldn't worry too much - Jim would have to be some sort of God to compete with the Blitz language if he's only doing it as a hobby... and of course you need to own the official version of Max to legally use any of BRL's modules.


Retro(Posted 2006) [#11]
You're contradicting yourself, Jim T.
First you claim it's just a hobby project and that you have no intention of selling it, then you go on to mention potential markets and commercial viability.

What exactly are your long-term intentions with it?


Jim Teeuwen(Posted 2006) [#12]
Im going into it because it's closely related to the legal issue. That's not contradicting myself, that's covering all the bases :)

As said, I dont have any commercial intentions for it.
Nomen luni makes a good point. I am not a god, certainly not when it comes to creating compilers. All I can hope for is that the performance will be at least on par with blitzmax, but I wouldn't bet on it. The only thing I want is for blitzmax to finally be able to join the huge league of development tools out there that are keeping up with modern times. If it is possible to create .NET applications with blitzmax, I am pretty sure that will serve as a very good reason for more people to use blitzmax.

But once again, it is a hobby project. It mainly serves an educational purpose for myself but it may actually become usefull to people at some point.

it is important to note that a compiler that understands Blitzmax is a very long way from something that can just compile all your Blitzmax code out of the box.

Keep in mind that a large part of the code you write is based on modules and libraries that have been specifically written for blitzmax, and many of the utilize external sources like assembler and C code.

It is not a trivial matter to make these modules and libraries available in .NET format. You can't just use them with my compiler, as they first have to exist in some .NET form. Some libraries which exist as dll's can be accessed in a .NET assembly through the Platform Invoke System, but this still keeps it a long way from being the Game-programming language/tool that Blitzmax is at this moment.

This compiler is meant to open up the .NET framework to BlitzMax. I have no intention of rewriting the entire blitzmax codebase in .NET (that means rewriting all existing modules and stuff in a language like C# or ilasm).

To give an example of what I mean:
My compiler should be perfectly capable of reading/compiling this into a working .NET program:
Import System

Function Main:Int(args:String[])
	Local myApp:App = New App;
	myApp.Run();
	
	Return 0;
End Function

Type App
	Field Running:Int
	
	Method New()
		Running = False;
	End Method
	
	Method Run()
		Running = True;
		
		Repeat
			Console.WriteLine("loop");
			
			If( Console.ReadLine() <> "") Then
				Running = False;
			End If
			
		Until( Running = False)
	End Method
End Type


However, the following will not work:
SetGraphicsDriver(GLMax2DDriver())
SetGraphics(640, 480, 32)

Repeat
  Cls()
  Drawrect(10, 10, 100, 100);
  Flip()
until(KeyHit(KEY_ESCAPE) or AppTerminate())


The reason is simple: Many of the commands used here are not standard .NET library commands. Someone will have to write a library for that first.


Oddball(Posted 2006) [#13]
I think you should expect a very frosty reception from BRL. Skid has warned people in the past to take projects he deems as competitors else where. I'm refering to Ant/Aurora and his C# engine. Like some of the others above I'd recomend contacting BRL directly.


Retro(Posted 2006) [#14]
I agree that instead of converting existing BMax libraries to .NET format, it would be a better idea to design your compiler to use the XNA framework.
Although, if you could also implement a BMax library-compatible wrapper, that would facilitate porting existing BMax games to e.g. the XBox 360 platform.


AlexO(Posted 2006) [#15]

Although, if you could also implement a BMax library-compatible wrapper, that would facilitate porting existing BMax games to e.g. the XBox 360 platform.



ding ding ding! we have a winnar!


Jim Teeuwen(Posted 2006) [#16]
Yes, that would be nice, but recreating every feature bmax has to offer in a .NET environment is even more likely to contract some negative attention. It's basicly just taking blitzmax and call it my own :p

As much as I would like to see a .NET version of blitzmax happen, I have come to the conclusion it just isn't going to happen without explicit consent of BRL. Judging from previous attempts by people to do this, I don't see this happen anytime soon.

Therefor I will discontinue developing the compiler.
I will probably be better of designing it on another language alltogether. At least for the things I can learn from the project itself.


skidracer(Posted 2006) [#17]
Microsoft took it upon themselves to convert python, and then offended the sensibilities by saying 'IronPython' was 2.3 times faster, oh, the garbage collections stuff isn't in, oh the python libs are missing...

Jim, I can't help thinking like a lot of projects around here, you're going to experience a brick wall or two. Perhaps you could post more news when you are further down the track.

So to answer the original question, if you do want to establish a legal postion with BRL, email is obviosly the only option open to you.

These are programming forums.


MadMax(Posted 2006) [#18]
If you don't want to be hated, don't do anything. Don't get a girfriend, someone is bound to hate you for that. Don't start a bussiness. Don't write a compiler. Don't sit on that park bench!!! It's mine I sit there every afternoon from 5 to 6:15 and if I see you sitting there, I'll hate you!!!!!!!


popcade(Posted 2006) [#19]
Technically I don't like .NET for now unless I have to use that in the later years.

So you can just go ahead, I'm left behind ;)


Curtastic(Posted 2006) [#20]

If you don't want to be hated, don't do anything. Don't get a girfriend, someone is bound to hate you for that. Don't start a bussiness. Don't write a compiler. Don't sit on that park bench!!! It's mine I sit there every afternoon from 5 to 6:15 and if I see you sitting there, I'll hate you!!!!!!!


LOL. nice.
Reminds me of the reply I once heard: "You can lie in bed all day for fear of doing something wrong if you get up."


Pineapple(Posted 2006) [#21]

I will probably be better of designing it on another language alltogether. At least for the things I can learn from the project itself.



Or, you could pretend to create a new language, call it Cobra, open up forums, then disappear! :D

Dabz

EDIT: Oops, found Squeaky's website... nice read, found it funny that they call their offices a 'shop', and that it's located next to some public bogs! :)


GrahamK(Posted 2006) [#22]
EDIT: Oops, found Squeaky's website... nice read, found it funny that they call their offices a 'shop', and that it's located next to some public bogs! :)

Obviously not very good at reading either, otherwise you would have worked out what that was about ;)


Pineapple(Posted 2006) [#23]

Obviously not very good at reading either, otherwise you would have worked out what that was about ;)



me bad! :)

Is the shop in Bristol? Near the train station? Just a guess mind!

Dabz


GrahamK(Posted 2006) [#24]
he he, was Amsterdam... Cycling through the museum district, blam instant 'Cobra Cafe' (and very nice it was too).


Retro(Posted 2006) [#25]
You are never alone with a rubber duck!!!

Yeah, regrettably.

Do you think you could make your advertising hoardings a bit larger? I'm still able to see far too much forum text on my screen.


GrahamK(Posted 2006) [#26]
I did think about it, but it took too long to load.

I've shrunk it down so I don't upset you too much more ;)