Microsoft releases GW-Basic as Open Source

[German]A brief info: Microsoft has released the source code of the GW-Basic interpreter, which was delivered in the early days on IBM PCs, as open source in the environment of the BUILD 2020 developer conference.


Probably only older blog readers still remember the times when the first IBM PCs and compatible PCs were delivered in Europe. The first IBM PC/XT with 8088 processor that has been shipped to Europe has been on my desk before I delivered that system to an inhouse customer. At that time I got photocopied documentation from IBM, because Bill Gates and his small company Microsoft didn't have the manuals ready – they came weeks later. On all IBM PC compatible systems there was a basic interpreter in ROM at that time.

Those who interpret themselves for the details will find some details in the Wikipedia. According to Wikipedia, GW-Basic was distributed between 1983 and 1991 as part of the operating system MS-DOS up to version 4.02. After that QBasic and the later released QuickBASIC replaced the GW-Basic interpreter. That was the time when Borland caused a sensation with its Turbo-Pascal. So one of my first books, published in 1989, addressed Microsoft's QuickBasic (the other two titles were related to Borland's Turbo-Pascal and Turbo-Basic – my first book ever I wrote, was dedicated to Locomotive Basic, shipped with the Amstrad PCs).

GW-Basic as Open Source

I found out via  the following tweet, that Microsoft now makes the step and releases the source code of GW-Basic as open source.

The assembler source code of the 8088 port for MS-DOS from 1983 was released on May 22, 2020 under the MIT license. Microsoft has described the whole thing in this blog post. Background for the release are multiple requests from the user community to get the Basic port as open source in addition to MS-DOS. The Microsoft article also contains some information about the historical context. The source code of GW-Basic is available on GitHub.


Cookies helps to fund this blog: Cookie settings

This entry was posted in General and tagged . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *