Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 10:37 15 May 2025 Privacy Policy
Jump to

Notice. New forum software under development. It's going to miss a few functions and look a bit ugly for a while, but I'm working on it full time now as the old forum was too unstable. Couple days, all good. If you notice any issues, please contact me.

Forum Index : Microcontroller and PC projects : "Proper" MMBasic

Author Message
kiiid

Guru

Joined: 11/05/2013
Location: United Kingdom
Posts: 671
Posted: 10:30pm 12 Sep 2014
Copy link to clipboard 
Print this post

I have the entire uM Basic 4.5d rewritten without using any of Geoff's original code. The result is a smaller output which allowed adding of a full file system, native multitasking and a few other features desired by the users for a long time but ignored by Geoff so far. The whole thing runs about 40% faster as well and the Basic programs take less memory.
Assuming that, I am happy to release it completely open and unrestricted because it is my own code. The question is: should I do that?
Edited by kiiid 2014-09-14
http://rittle.org

--------------
 
JohnS
Guru

Joined: 18/11/2011
Location: United Kingdom
Posts: 4004
Posted: 10:43pm 12 Sep 2014
Copy link to clipboard 
Print this post

Depends what you mean by "should"!

If you mean, would people like that... probably.

If you would mind that others may change it, perhaps asking you but perhaps not, then at least think about the details of the Copyright or whatever terms and conditions you'd release it under.

BTW, "change" might even include putting their name on and removing yours and if that would be a concern then at least put some wording about that in (it's the equivalent of when book authors choose to be identified as the author, I suppose).

If you want a licence to release it under... there are lots to choose from!!

GPL is well known but means others have to GPL their code and I suppose that would (unless you stated otherwise) mean even any programs written in Basic. Only some would be willing and it would probably mean your code would hardly ever get used in commercial projects.

To get around GPL issues people use things like LGPL or such as the Harbour Project's licence.

I'm just "thinking aloud" really...

JohnEdited by JohnS 2014-09-14
 
Grogster

Admin Group

Joined: 31/12/2012
Location: New Zealand
Posts: 9501
Posted: 10:47pm 12 Sep 2014
Copy link to clipboard 
Print this post

  kiiid said  ...a few other features desired by the users for a long time but ignored by Geoff so far...


Ignored?

I doubt that he IGNORED any request features, but he is but one man, with only one man's time - perhaps you have more time at your disposal then Geoff?

I'd still be interested in reading about your development - please post a link.
Smoke makes things work. When the smoke gets out, it stops!
 
robert.rozee
Guru

Joined: 31/12/2012
Location: New Zealand
Posts: 2405
Posted: 12:26am 13 Sep 2014
Copy link to clipboard 
Print this post

if you derived your work from Geoff's, then i think that legally you are on shaky ground. you would need to be confident that you used 'clean room' reverse engineering methods and the likes. look back at the troubles folks had to go to to duplicate the functionality of the original IBM pc bios. you would also not be entitled to call it mmbasic.

MORALLY i think you need to be talking with Geoff Graham. morally mmbasic is without a doubt his, and i think you need to come to some arrangement with him. what that arrangement is, i can not speculate upon - it really is up to you and Geoff to sort it out.


robEdited by robert.rozee 2014-09-14
 
JohnS
Guru

Joined: 18/11/2011
Location: United Kingdom
Posts: 4004
Posted: 12:37am 13 Sep 2014
Copy link to clipboard 
Print this post

Interesting... in that case presumably also need to talk to Lucio Di Jasio?

It's his work on video, SD, PS/2 keyboard etc that is also in use, isn't it?

From his book "Programming 32-bit Microcontrollers in C Exploring the PIC32" ISBN 978-0-7506-8709-6

John
 
robert.rozee
Guru

Joined: 31/12/2012
Location: New Zealand
Posts: 2405
Posted: 01:03am 13 Sep 2014
Copy link to clipboard 
Print this post

  JohnS said  [...] Lucio Di Jasio? It's his work on video, SD, PS/2 keyboard etc that is also in use, isn't it?
John


apart from the micromite using none of the above three (video, SP, PS/2), Lucio likely released his code to the public as free. Geoff released his code for educational purposes only, and only upon request. i still assert that it comes down to a MORAL question for kiiid: is his new version a derivative work?


rob
 
memberx
Newbie

Joined: 20/04/2012
Location: Australia
Posts: 24
Posted: 01:21am 13 Sep 2014
Copy link to clipboard 
Print this post

  Quote  I have the entire uM Basic 4.5d rewritten without using any of Geoff's original code


I do understand and agree with your frustrations and reasons.

Firstly, you need to show that there is no legal conflict.

  Quote  morally mmbasic is without a doubt his


How much of MMbasic is Microsofts or others that have developed "BASIC" over the past decades? Didn't Geoff say that the core of MMbasic was ported from Microsoft version to Pic32?

Why don't you work an arrangement with Geoff and use your talent and time to come up with a bytecode compiler version?

I will be one of your first paid customers.

Would be much more useful than creating an enhanced competing version.


Edited by memberx 2014-09-14
 
JTR0701
Regular Member

Joined: 10/07/2013
Location: Australia
Posts: 71
Posted: 03:05am 13 Sep 2014
Copy link to clipboard 
Print this post

  kiiid said  
Assuming that, I am happy to release it completely open and unrestricted because it is my own code. The question is: should I do that?


Hell yeah! And what's the problem if it is your code? I cannot see any real reason for anyone to be unhappy. If it is your code then you are entirely free to share it or incinerate your harddisk. (please Don't...)

So why the question? Am I missing something here?

I would love to see more openness and capability from some flavor of PIC32 basic. One that I may be able to extend with some of the goodies I have floating about.

 
viscomjim
Guru

Joined: 08/01/2014
Location: United States
Posts: 925
Posted: 04:08am 13 Sep 2014
Copy link to clipboard 
Print this post

I agree with memberx. It would be really cool if there was a "basic" compiler that is as easy to use as MMbasic. Ease and speed. I know there are the likes of Great Cow, PicBasic Pro, Proton, Mikroe, etc., but the little time I played with Proton, something more like MMbasic would be soooo easy and fun. A "MMbasic" compiler would be pretty neat. MMbasic allowed me to crank out some really cool projects, really fast because it make sense for someone like me. It just WORKS!!! Thanks Geoff.

I too would like to see your version of basic for Pic32. Details please......
 
paceman
Guru

Joined: 07/10/2011
Location: Australia
Posts: 1329
Posted: 04:34am 13 Sep 2014
Copy link to clipboard 
Print this post

The DuinoMite saga was a good example of the problems incurred by jumping on someone else's bandwagon with enhanced 'forks' from the official version. The DuinoMite enhancements produced conflicting pins on the hardware side and long-term commitment issues to development of the code on the software side. It didn't take long for the DuinoMite 'enhancements' to dry up and bugs not to be fixed when Geoff changed the licensing arrangements. And Geoff certainly had good reason to do that - the DuinoMite-Mini board that I have has Olimex's branding all over it along with Dontronics and KenSeglerDesigns but not a mention of Geoff Graham, the man who undoubtedly had the biggest input to it and whose concept it all was. On top of that he then also had to deal with the complications for many users of MMBasic that arose from the hardware changes - and to his credit he has continued to do that. The 'fork' also produced aggro on this forum which no one wanted and which was starting to turn members right off.

Geoff has frequently stated that his main interest in all this is for his and users enjoyment and not for commercial gain and to my mind his actions have born that out in spades. Notwithstanding that, quite a few forum members (and no doubt others we don't know about) do incorporate his free product in their commercial products and he has also been enthusiastic about that use. The couple of times (on this forum at least) when he has come out against something has been when a public 'fork' has been mooted which can only complicate MMBasic's maintenance and his plans for it, but also likely compromise his legitimate 'ownership' of it.

Kon's MMBasic enhancements would at this point in time, no doubt be very handy to some users - he's obviously a very talented engineer (and those little hardware modules are amazing). The fact that Geoff hasn't incorporated them doesn't mean he's ignored them and stating it as such is counter-productive, it's unlikely to improve how they're received in future. It also doesn't mean he might not incorporate them in future, it just means that at this stage he wants to do other things - many of which are requests from members of this forum. We've had a long list of developments from him for three or four years and the pipeline doesn't look like like stopping any time soon.

To me, it's great that others can adapt the MMBasic concept and enhance their own projects with it but I definitely think releasing it publicly won't lead anywhere good. The last thing I'd want to see is Geoff being turned off the whole ongoing project because of 'ownership' issues and the complications that can arise from other versions - the great majority of us would be the worse for it. We would then also be very unlikely to have the ongoing articles and 'build it yourself' Mite projects that Geoff provides in 'Silicon Chip'. I know there's some income from that, but from what I can gather it's pretty minimal and he probably doesn't need it anyway.

Greg

 
Goeytex
Regular Member

Joined: 12/05/2014
Location: United States
Posts: 74
Posted: 06:24am 13 Sep 2014
Copy link to clipboard 
Print this post

The use of the term "Proper" in regards to your version, implies that the current version by Geoff is somehow improper. IM0 this is a poor choice of words and could be taken as insulting to Geoff's hard work and seemingly altruistic effort. I highly doubt there is enough revenue from the "mites" to much more than cover costs, (if even that).

Now, if it's your code and truly "rewritten without using any of Geoff's original code" then you can do whatever you want with it.

But, of course, it shouldn't be called MMBASIC and neither should a programed chip be called a Micromite.

40% faster? That's good, but still not good enough for some of my projects that require fast interrupts and really fast maths. For other projects MMBASIC speed is more than adequate but, improved speed is always welcomed.

Are the special function registers made accessible? I would really like to be able to use the comparators and other inaccessible stuff. Can assembly be inserted inline where a certain section of code needs to be fast or different configuration bits may be wanted?

What about documentation? Have you done your own or do you intend to rely on Geoff's work?

For really fast BASIC I Have been using Great Cow. The SynEdit "IDE" is adequate and not too complicated. It produces both ASM and Hex files, and the compiled code runs faster & more efficiently than Arduino "C".

Edited by Goeytex 2014-09-14
 
kiiid

Guru

Joined: 11/05/2013
Location: United Kingdom
Posts: 671
Posted: 07:25am 13 Sep 2014
Copy link to clipboard 
Print this post

Thanks for everyone's opinion. Unfortunately didn't hear from Geoff himself, but didn't really expect to...

By "proper" I meant proper license.
The reason for my question was exactly the Duino story in mind. I don't want to put Geoff's dedication away from further development, and for me this was more a self-challenge, one of those "can I make it better" in the spare time. Speaking of which - I have spare time just as much as everyone else who is not retired from active work. So it was not a matter of more spare time or greater resources, neither any commercial plans.

Having this said I will shelve the project for now and not release it. One MMBasic is enough and I hope it will grow with more additions with the time.

Probably now is a good time as well to make another call to Geoff - open the source completely and let other people contribute to it. Sure, that will drop you from "The One" throne, but does it really matter? And eventually the end user will benefit the most because there are many people in this world who are able and would want to help to make it better. And those SC articles will still be yours, and the recognition for the initial concept.

Meanwhile I will focus on my other projects and the FANF shell after some time off from work which I need anyway.

Kon
Edited by kiiid 2014-09-14
http://rittle.org

--------------
 
halldave

Senior Member

Joined: 04/05/2014
Location: Australia
Posts: 121
Posted: 11:48am 13 Sep 2014
Copy link to clipboard 
Print this post

Kon

All your coding and ideas are great, maybe there is a way forward.

Is it possible you could publish sections of code to solve functions / problems etc and areas where you have made massive improvements, then Geoff MAY be able to take this into considertion and combine in the main MMBasic release.

if there is lots of support for a function it then it may be a candidate to consider

just a suggestion

regards

David
 
Grogster

Admin Group

Joined: 31/12/2012
Location: New Zealand
Posts: 9501
Posted: 03:40pm 13 Sep 2014
Copy link to clipboard 
Print this post

Problems with Open Souce is a good read, and explains I think, why Geoff changed his source policy.


Smoke makes things work. When the smoke gets out, it stops!
 
MicroBlocks

Guru

Joined: 12/05/2012
Location: Thailand
Posts: 2209
Posted: 11:50pm 13 Sep 2014
Copy link to clipboard 
Print this post

If it is a "Proper" version, meaning without any original source code.
Then by all means publish it! The more choices the better.
You only need to choose a proper and distinctive name.

Are you considering going fully open source, or something similar as Geoff has chosen.

Is your version a compiler or interpreter?
Personally i would prefer an interpreter. Once it needs to be compiled i can use C.

Edited by TZAdvantage 2014-09-15
Microblocks. Build with logic.
 
Print this page


To reply to this topic, you need to log in.

The Back Shed's forum code is written, and hosted, in Australia.
© JAQ Software 2025