Those of you who ever dialled into the Internet from your Windows 3.1 machine back in the day will remember a piece of software called Trumpet Winsock. It was the best TCP/IP add-in for an OS that did not come with a TCP/IP stack.
Some of you may even remember that it was written by a guy called Peter Tattam in his company, Trumpet Software International, in a remote corner of the world: Tasmania, an island off the coast of Australia. Some of you may even know that it was coded in Borland Pascal (Later, Trumpet worked in Borland Delphi).
Windows 95 had integrated dialup and TCP/IP, and Trumpet Winsock was no longer needed. This loss of market seems to have turned Peter Tattam against Microsoft and prompted an astonishing feat of programming.
It seem he has not needed to work fulltime at his local ISP business, so he has been coding. He has written, or is still writing, a windows clone called petros. The web site is at http://www.Petros-project.com/
It has been "created from first principles" by Trumpet. Peter Tattam is the chief architect and is understood to have written most or all of the OS.
It seems to have been first announced circa July 1999. In Mid-2001, 'Version 1.01 Full release' is on sale for $50 "with a planned attractive pricing structure available to bulk users and distributors of the product." The commandline works, but the GUI is still under development.
You can donwload a time-limited trial version, and if you do you'll soon learn more about petros than I know.
Technical facts on Petros are not detailed:
It is targeted at Intel Pcs's, is 32-bit OS. It is quite lean, needing at least a 486 processor, 2Mb ram, and will boot from 2Mb HD space or floppies.
It is claimed to be small and modular. The microkernel is 190K, and the GUI is separated from this kernel. Windows compatibility is not normally found with "small and modular" OS's but the windows compatibility layer is outside of this kernel. To what extent the kernel is designed with the needs of windows in mind is not specified.
Only Fat-compatible file systems are currently supported, indicating that Mr Tattam is unaware or not interested of concepts like file attributes, metadata and resource forks, which are currently recognised as a hot new advantage that new OS's can deploy. He may be uninterested because windows compatibility is his only goal.
There are several forums on the web site, all moderated by "Peter", indicating that this is not a project with a big team. But then there can't be a huge pool of geeks on Tasmania.
The Object-Pascal connection
What is even more remarkable that the fact of a new OS is that it has been written in Object Pascal. Still more remarkably, Peter Tattam has not used the Delphi Object Pascal compiler from Borland, but written his own.
Critique and opinion.
PETROS® is a system that is intended to co-exist with and complement the existing platforms rather than supplant them."
- Petros Web site
"I once preached peaceful coexistence with Windows. You may laugh at my expense -- I deserve it."
- Jean-Louis Gassée, former head of Be
In comments on Slashdot, Peter Tattam does not seem to be a Linux fan (he seems to prefer BSD's track-record and more rigid development process). At no stage is any discussion given of Petros' advantages over Linux or any other OS, besides the price advantage over windows.
Can a tiny company in Tasmania really make a dent in the giant in Redmond? And if Microsoft ever notices Trumpet, won't they crush it like a bug?
Having had much experience in Delphi, I long thought that it would be possible, but not ideal, to write low-level software such as an Operating System in the language. I see that I erred on the side of caution.
Petros is an awesome example of what Object-Pascal is capable of. It may even have some advantages in OS design, seeing as it is written in an object-oriented style by a programmer familiar with OO. In this respect it is ahead of most of the OS projects out there. As a long-time Delphi coder, it's the kind of project I'd love to work on. If it had a chance of taking off.
Petros is a stunning example of the power of the Object-Pascal language, and good ammunition to throw at Delphi?s ill-informed detractors, but unless it is unbelievably good, really lucky and takes on board a whole bunch of top-notch programmers, is doomed as an OS.
By the early 2000's, operating systems have become a commodity - all kinds of people are writing Os's in their spare time, for instance AtheOS and Menuet. And some of them are giving them away for free - both gratis and libre. Not to mention the more established free commodity OS: Linux.
Petros's supposed advantage is Low price and windows compatibility.
Low price: as BeOS demonstrates, you can't give away a new and different closed-source OS even if it is quite good. There is no market at all for new non-free proprietary OSs on commodity hardware.
Compatibility: Good luck, it's a difficult goal, an elusive and moving target, and the market for windows workalikes is already served by Microsoft.
The fact that Peter Tattam is capable of doing all this is proof that he is a coder with few equals. The fact that he has in fact done it rather than picking some other project is proof that he is special in other ways.
If this was a free open-source project, the received wisdom is that we should just shrug it off as one man's folly - "well, he's doing what he wants to. If you don't like it, don't use it." Does the closed, commercial nature of the project change this? In my opinion it does to an extent - he is in effect stating that he believes this project to be a viable business, that people will pay for this OS without the source. That statement can be evaluated.
Unresolved questions to me
The FAQs say that Petros is written in "a high level language based on Object Pascal" - so how does it differ? Is the language 100% compatible with Delphi OP? Which version - As Delphi 6 is recently released, is he tracking language changes that have occurred in the new version?
Does the language include all of Delphi's Object-Pascal, even the redundant legacy bits? Does it do COM? Does the OS design use interfaces?
If Object-Pascal is the language of choice, what advantages can a homebrew implementation hold over many years of effort at Borland? Is the code better optimised? Are there extensions? if so, what?
Object Pascal is a commercial hybrid of Pascal with quite a bit of legacy baggage, it is general-purpose, but is aimed at application development not driver writing. If you are writing your own compiler, why choose Object-Pascal over a basis in more modern Pascal-derived languages such as Modula or Oberon? Delphi is really good, but it has warts that I would smooth off if I were starting over. Why the Pascal family at all? Why waste time writing a compiler? Indeed, gcc was good enough for Linus.
Peter Tattam has said that the compiler will ship with the OS later. What licence will the compiler ship under? There is a demand for good, free, open OP compilers? What platforms will it run on?
If one is writing an OS, then why make it work like windows, widely seen to be a crufty hack with far too much legacy baggage?
thanks to the Petros project web site, and the commentators on slashdot for info and ideas in this writeup.