On July 7, 2009, South Korean software company TmaxSoft officially announced its own operating system, Tmax Window along with Tmax Office suite and Tmax Scoutor Web browser. The company intends these products to be fully compatible alternatives to Microsoft Windows, Office and Internet Explorer in Korean environment.

While its statement looks promising, developers and experts have expressed concern with its development. Until a few days before official announcement there was no sign of the development, and even when they released the screenshot of their OS many pointed out it seems to be heavily photoshopped. With actual demonstration its existence became evident, but there are still many uncertainties about development approach, licensing problem (especially with open source products), corporate ethics and so on.

So far as I know, this announcement didn’t find its way to non-Korean people. This is partly due to lack of English sources: so I decided to write my own, albeit subjective, explanation and analysis in English. So please excuse my horribly incorrect English. ;) 2009–07–08 18:40 UTC: There is now an OSnews story about Tmax Window. I was originally to finish this article and submit it to OSnews but it took so much…

Backgrounds and Early Mentions

TmaxSoft, incorporated in 1997 in South Korea, started its life as middleware vendor, but gradually became an enterprise software company. Its main product includes JEUS web application server and Tibero relational database. TODO about Timos? Internally there are two subsidiaries of TmaxSoft: TmaxData for database systems and TmaxCore for operating systems.

The earliest mention of Tmax Window was in 2007, or more specifically, in 10th anniversary event1:

Regarding the reason of [TmaxSoft’s] operating system and database development, he [Daeyeon Park, CTO of TmaxSoft] emphasizes, “No company can succeed in worldwide software market without infrastructure technologies, like operating systems or databases. Such original technology has to be developed even if it takes decades or centuries.”

He also revealed that the development of new OS started as early as in 2005 and to be released by October. Then the due date was postponed to January 2009 (in Feburary 2008)2, April 2009 (in November 2008)3, and finally July 7, 2009 (in May 2009)4.

“Great Challenge” Campaign and Controversy

TmaxSoft announced “Great Challenge”(위대한 도전) marketing campaign in May 14, 2009, with the final release date July 7. TODO details of Great Challenge

Controversy of Tmax Window was started long before. There is the history of fake or failed Windows-compatible OS projects in Korea:

One person claimed that he/she is able to make Windows-compatible OS targeted to iStation V43, which runs Linux-based embedded OS in 2006. He/she also attempted to raise fund for development.5

In 2003 or so, there was an attempt (named “Mogua”) to make OS whose API is compatible to Windows. Started by NetBSD hacker, Mogua was to use NetBSD kernel and implement Windows kernel interface as a module. Even there were some source code for it, but after long flamewar and controversy, the author decided to make it proprietary and silently disappeared.

Yang Byeonggyu, the software developer famous for his BreadZip archiver, had once envisioned Windows-compatible OS. (He said that BreadZip was a by-product of OS project.) The project seems to be stalled.

Many criticized the campaign with various reasons, some of which was also applied to above cases:

Both Wine and ReactOS took lots of resources to achieve full Windows compatibility, and still on the way to it. (Wine started in 1993 and ReactOS started in 1998.) While full-time employees can be more productive than open source developers, full Windows compatibility can be difficult to achieve because of complexity and diversity of Windows API, and even the team of full-time employee would take considerable amount of time.

If TmaxSoft used Wine or ReactOS to meet the deadline, they should release its source code in same license. But there was an instance that TmaxSoft didn’t respect other’s copyright.6 Of course this would not be a problem if they wrote the code from scratch.

There was no sign of hardware testing. TmaxSoft has promised full hardware compatibility, but this requires enormous testing and cooperation with hardware vendors.

“Great Challenge” is a kind of nationality marketing, which is heavily criticized theme throughout Korean society several times. (See the instance of Hwang Woo Suk controversy and 2007 film D-War.)

TmaxSoft was to be listed in KOSDAQ, Korean equivalent to NASDAQ by 2010, and there was a rumor that TmaxSoft would be a victim of hostile M&A activity (in May 2009); therefore such announcement could boost up the stock price, no matter it’s fake. TmaxSoft officialy denied the latter.7

In this photo, the start menu is below the explorer window. Folder list of sidebar and main window doesn’t match (e.g. where is “HNC” folder?) and the volume of C drive is named WinXP. The taskbar remains empty despite the explorer window. There are tons of such inconsistencies in other photos not covered here, but anyway you have idea now. The official blog changed the photo soon but received the criticism as well.

Account of Actual Developer

There is a supposed account8 of actual developer of Tmax Window (referred as Tmax OS below), as preserved by Nulltech. Nulltech blog didn’t provide the source of this account, but Nulltech was quite certain about the accuracy of it.

I am one of developers of Tmax OS.

Frankly our OS is not that much.

Basically the kernel is a Unix-like system supporting POSIX standards (said that written from scratch, as far as I know it refers much of BSD and Linux source code). Several kernel module and driver is also ported from Linux or BSD. Window manager is not a X server, but its own.

The problem lies on Windows binary driver compatibility: we have had hard time because there was a request that Windows binary driver compatibility is required 2–3 months before the release.

What’s going on? The initial plan was to use Linux driver and only to make compatible to [Windows] API like GDI.

However about 3 months before the release, Daeyeon Park ordered to make compatible with Windows binary driver and now we make it compatible to Windows kernel API…

I agree on the importance of Windows compatibility, but I cannot understand that such important thing is decided just 3 months before the release. Since the original design didn’t consider Windows compatibility, the new code is written as like rugs and many came from ReactOS project. (Moreover ReactOS is GPL licensed.)

I think the core members don’t have any idea about OS development.

Daeyeon Park has excellent business and technological background; but the project managers don’t.

We are now building the perfect OS with UIs of Mac OS X, portability of Linux and compatibility with Windows.

Even worse, the majority of developers are masters in their twenties, hired as a military exemption of research personnel. Experienced programmer cannot cope with this situation and leaves the company within months, and even exempted people leaves the company after one and half a year.9

July 7, 2009 Announcement

The official announcement was on July 7, 2009, in Grand Intercontinental Seoul. This was also the TmaxDay 2009, and entirely dedicated to Tmax Window, Office and Scoutor. The event took place in Grand Ballroom capable for 1,800 persons. But there were at least estimated 2,500–3,000 persons came to the event, so remaining people was watching big screen in the front of ballroom. Separate outdoor event was also scheduled but canceled due to rain.

The event lasted from 1:30 PM to 6:00 PM (local time), but its registration started at 12:15 PM. I managed to register at 12:40 PM because of lots of people: I heard that there were already 200–500 persons at the beginning of registration. Actual presentation and demonstration started at about 2:30 PM and ended at about 4:30 PM; the congratulatory performance preceded and followed the presentation.

This announcement also mentioned the final product name, Tmax Window9 in the first time. They explained that the number 9 means the year 2009. (Hmm… Are they going to call it Tmax Window10 in next year?)

Tmax Window

Tmax Window was the first “big thing” of the announcement. See the presentation slides. Daeyeon Park presented introductory presentation before the actual presentation, but it was nothing special except giving business plans and claims only.

Video footage by acrofan

TODO transcript

According to presentation, Window is a microkernel-based desktop operating system, with specialized compatibility layer and subsystem for compatibility with major operating systems—Microsoft Windows (with no mention of version) and Linux. Its user experience is modeled after Microsoft Windows due to its user friendliness, and microkernel is chosen for its high stability. (The presenter however also said that they are going to make another distinct user experience by the end of this year.) It also comes with Tmax Tibero database engine (for default data store of applications) and several utility programs (including media player featured in the demonstration).

The demonstration showed Tmax Window running Microsoft Word 2003, Microsoft Internet Explorer 6, its own media player and Starcraft. Word 2003 ran flawlessly but its splash screen was broken (failing to render copyright texts). IE suffered from major graphic glitches including several vertical lines, but the application itself did work. Media player played promotional video of Girls’ Generation, but the audio and video desynchronized frequently. Starcraft took 1+ minutes for loading, and the presenter said the gameplay is not working yet (thus game replay was demonstrated), but its graphics did not show any problem.

There were many speculations about Tmax Window, but with the demonstration it became clear that Tmax Window exists and works to some extent. Some says the entire demonstration might be fake, but there are several demonstration videos for press release which show various aspects of Tmax Window.

Tmax Office

Tmax Office was the second “big thing” of the announcement, and demonstrated together with Tmax Scoutor discussed below. See the presentation slides.

Video footage courtesy of Seo Sanghyeon

Before talking about the compatibility I’m going to explain briefly about the structure of typical office suite. (Slide displayed, showing the relation among external documents, import/export filters, document models and user interactions) Those majored at computer software might see this diagram often. There are various document formats in office suite, so there is a filter component which extracts or stores information from/to the document formats. And there is a document model which can represent every features of such document formats, so this handles all [the storage and conversion]. Also there are a editing component for typing texts or drawing shapes and a rendering component for display the content of document, here denoted as keyboard and mouse shape. Aside from four major components there are supplementary components—so-called “engine”—which is quite similar to OpenOffice.org’s one since we started from it.

According to presentation, Office is an office suite consists of ProWord (word processor), ProCel (spreadsheet), ProPoint (presentation) and ProMail (e-mail and PIMS). They are designed to be compatible with Microsoft Word, Excel, Powerpoint and Outlook respectively, and able to read and write both ISO/IEC 26300 OpenDocument format (major implementation being OpenOffice.org) and ISO/IEC DIS 29500 Office Open XML format (major implementation being Microsoft Office 2007 and later).

The presenter indirectly hinted that the product is based on OpenOffice.org, saying that they “started the development from it” and “had replaced document models and added more filter services [to it]” (slide #9). Its appearance is quite similar to OpenOffice.org and there are some (though inconclusive) evidences confirming OO.o origin, including infamous GPL.txt in the directory. They have developed comprehensive conversion filter between OpenDocument and Office Open XML, which even covers the document feature supported by one format but not by another. The slide also mentioned a rendering core optimized for multiple core or processor.

He demonstrated file format compatibility with Microsoft Office, by opening the file in MS Office, opening and editing same file in Tmax Office, and opening the file in MS Office again to show the edit. This procedure worked fairly well, except for minor conversion errors such as slight geometry changes. ProMail is not demonstrated if I recall correctly, and much notably, Tmax Office and Scoutor was not demonstrated in Tmax Window but in Microsoft Windows XP. This may suggest the current implementation quality of Tmax Window.

Tmax Scoutor

[…] As mentioned earlier, the support of Microsoft specific features such Javascript and DOM API is needed for the domestic [Korean] Web environment so we added every needed features to our browser engine. It provides DOM, Browser Object Model and Javascript APIs exposing such object [model]s. (Names such as JavascriptCore, WebCore and Webkit can be seen on the slide.)

Video footage by mazefind

First let’s view [Acid3 test page] with Internet Explorer. (Launches Internet Explorer 8) Okay, it failed with 12 [out of 100] points and… Shall we wait more? …Yes it scored 20. Then let’s view same page [with Scoutor]. (Launches Tmax Scoutor, and scores 98 out of 100) Oh… Let’s try once more. (Screen reloaded, in this time scores 99 out of 100) Ha, we made it to 99 points. (Applause)

Well it complies well with Web standard as you saw, then let’s see portal sites, like… Naver. Let’s view Naver with it. (Launches Naver) Search ranking isn’t shown, by the way. Then… Let’s sign in and check the e-mail. (Screen reloaded) There is a new mail, let’s check it. (Mail screen shown) As you see there is no problem with web mail. And… It looks like dinner engagement, (Click) and there is a link to Youtube. Let’s see what video is it. (Click, and video is played) Now the video is playing. You see Flash-based video is played with Adobe Flash plugin. Let’s check other letter. (Click) It is a teaser and, (Click, and video is played) this media player is written for Tmax Window. So it is able to play Flash [FLV] format—de facto standard in Web—using Adobe Flash player, and WMV format or so using own player.

Next… I think you are friendly to games such as ones by portal sites, using Web browser. Simple games can be enjoyed with Flash within the browser, but it makes the game too simple to catch the interest. So in Korea downloading game program and launching it with ActiveX plugin is popular. So let’s launch the game in the portal site. (Nate Game is displayed) I remind that she [after the computer] is typing e-mail addresses, but do not send e-mail to them: it is made just for testing. Uh… There are so many games, since in the earlier press conference it is pointed out that Go-Stop10 is not appropriate for all ages we exclude such ones, so let’s choose a board game appropriate for every family. Well… Let’s launch Spot the Difference. For me it is a game of rolling eyes and seeking for differences. (Click, and new non-browser window pops up) It runs immediately and runs well. Could you join the game? (Joins the game, screen changes) Okay, since we are in the demonstration we’ll stop the game here. …Yes please stop the game.

Next, let’s view banking website which shows huge differences between IE and non-IE browsers. Especially a website with [SSL] certificates. First let’s see how the non-IE browsers are… discriminated. The second popular Web browser in the world is [Mozilla] Firefox, by Mozilla [Foundation]. Let’s launch it. (Try to see IBK website, but the alert says “Netscape 6.0 is not supported”) Note that we are not to blame developers of specific bank website, as it is chosen randomly. Then let’s view same website in Scoutor. (The same website shown very well) The message saying unsupported browser disappeared and it is shown well. Let’s sign in. (ActiveX-flavored certificate selecting window pops up) Wait a minute. This certificate selecting window is implemented with ActiveX, so ActiveX support is required just to display this window, and browsers without the support doesn’t display this one. Let’s type the certificate password in. (Window disappeared, the bank account list appears) Eh, the balance is only 100 won, it was originally much but it seems all drawn. It may be the sabotage for payment increase… but anyway it’s time to close it as more demonstration will be privacy infringement.

This ends the demonstration of [Tmax] Office and Scoutor. (Applause)

According to presentation, Scoutor is an almost-standard-conforming Web browser with Microsoft Internet Explorer compatibility in the mind. Internet Explorer compatibilty was crucial, because many Korean websites are designed for IE only, thus the adoption of Web standards and accessability practices is slow. Its core is supposedly based on Webkit, but major rewriting allowed it to support/replicate JScript, ActiveX controls and non-standard behaviors of IE.

In the end of demonstration, they presented real-time Acid3 test. It scored 98 or 99 out of 100, (I think) passed smoothness criterion, and rendered the page correctly except for failing to hide X at right-top corner (Web font support is required for this). The presenter explained that slightly lower score is the result of IE compatibility, and thus acceptable.

Analysis

There are many gaps between the facts about Tmax Window (and so on), but after July 7 announcement many new facts are made available, so we can now attempt to analyze these facts.

Tmax Window

Tmax Window is based on its own microkernel. While slides on microkernel, praising its stability, is technologically correct, the presenter (maybe intentionally?) missed the fact that good microkernel is difficult to build, mainly because of inter-process communication (IPC) overhead and complexity of components. (I’m not going to criticize microkernel here, but to note that building good microkernel is as hard as building good monolithic kernel.)

They even made misleading statements that all other operating systems use traditional (monolithic) kernel thus inferior: while Linux kernel is clearly monolithic and Windows NT kernel has arguably monolithic architecture (thus called “hybrid”), these kernels have various features which was initially believed to be possible only in microkernel—for example modern kernels including Linux, Mac OS X (XNU kernel) and Windows NT can plug kernel modules in runtime via means of loadable kernel module (LKM). Tanenbaum-Torvalds debate would be much comprehensive in this subject.

Regarding the compatibility, the entire OS design seems reasonable in this aspect if it is really implemented. TODO Developers suspect that many potions of compatibility layer and subsystem come from Wine and ReactOS, even if they have the original architecture. The account of actual developer above supports this.

The role of Tibero DBMS in Tmax Window is vague. The slide says it is hard to meet various requirements of data management in applications, so OS-wide database system like Tibero is essential. Full featured DBMS in OS is not a new idea: for instance, Windows CE 5 bundles SQL Server 2005 Compact Edition. But is Tibero appropriate for it? It’d be like embedding Oracle and forcing applications make use of it. TODO

Tmax Office

Tmax Office is reportedly based on OpenOffice.org. TODO

The presentation focused at the compatibility of Tmax Office, but didn’t say anything about unique features. TODO

Tmax Scoutor

Tmax Scoutor is, as the presenter puts it, based on Webkit rendering engine. While Webkit source code is small, clean and extensible, IE compatibility and Web standard conformance cannot be achieved together. (For example, if some website rely on incorrect CSS box model of IE this has to be replicated, but it is also a clear violation of CSS standard.) So at the best, they may have altered quirks mode to resemble IE’s one.

They also may just have used different rendering engines for different websites. This approach is already used in many browsers, including Lunascape supporting Trident, Gecko and Webkit. But this possibility is rather low, since they have to bundle Trident (aka MSHTML) to do this and it would be copyright violation. It is still uncertain that IE-specific website is indeed rendered by Webkit.

Relation with Open Source

Tmax Window, Office and Scoutor can present huge threat to free and open source software community in general. Tmax Office is basically an OpenOffice.org with excellent document converter, and Tmax Scoutor is basically an Webkit engine with IE compatibility fixes. Both OpenOffice.org and Webkit is LGPL licensed, and the license has to be retained after the modification and distribution. (If they used so-called permissive licenses this could not be a problem, but the credit is required anyway.)

Another important thing is that, they should not claim the open source technology as original technology of themselves. (Original technology, in Korea, is also a part of Hwang Woo Suk controversy.) For example they claim the superior Web standard support in Tmax Scoutor, but it is by Webkit team and not by TmaxSoft! Even if they release the source code, they have to attribute to the original authors accordingly or they are unethical.

Corporate Ethics

The presenters including Daeyeon Park CTO are blamed for justifying the disregard of the rights of developers. TODO

Seungho Han, a blogger known for hoogle blog and a TmaxSoft research worker, tweeted about Tmax Window:

@CharlesJRhee It’s not a public beta—it’s like a public gamma. 07–07 05:38 AM (In reply to “Is Tmax Window beta going to be tested publicly? 07–07 05:35 AM”)

Many says “there are only weekdays, no weekends in TmaxSoft”11, but I recall that Apple also did so when it’s designing iPod. From today Tmax Window development team is given the vacation for a week… 07–08 04:xx PM?

@golbin I’ve told it many times… There are hundreds of Tmax Window developers but only a few of them have researched OSes. Imagine that Allblog [@golbin’s company] lost all experienced developers like you, and must make it from scratch… 07–08 04:xx PM?

@CharlesJRhee I don’t know about divorced one but ones fell in a faint or going home late are easy to found. But they were happy for their dream and even disliked weekday-weekend things to be mentioned. 07–08 04:xx PM?

@golbin I’m going to take a picture [of the office]… Originally two researchers used one room, but for debugging and communication purpose every small rooms are merged into one big room and researchers worked there for months. :) 07–08 04:xx PM?

@CharlesJRhee Upon my honor I surly say that kernel was in the investment and development 3 years before when I joined, and the kernel team was the first of [Tmax] Window teams. 07–08 04:xx PM?

@channyun You’re right. I think it is wrong that he’s proud of divorce due to development; but my junior moved to some game company told me that the new company is worse. Anyway divorce is depressing. I don’t know who he/she is. 07–08 04:xx PM? (In reply to “@hoogle You didn’t understand. That is not a problem of him, but a structural problem of the company which makes the employee divorced by hard work. 07–08 04:xx PM?”)

I also missed the wedding on June 20, because my teammate (and thus I) were on a business trip to Japan. It’s unfortunate but I didn’t complain the company and my wife understood me as well. The loss due to trip is later paid from the company. 07–08 04:xx PM?

@pHealth For today I want to tell everything I know for curious. 07–08 05:xx PM?

Conclusion

I always like diversity. But as a long time Windows, Linux and Mac OS X user, I do agree on necessity of OS compatibility, and Tmax Window and other products seem to have such potential. Though it is unfortunate that these products would be proprietary again, resulting diversity itself helps.

But I also worry about the stance of TmaxSoft. They still rely on the nationality marketing and unfair press releases, and seem to justify disregarding the rights of developers. It is also in doubt that they give back to the free and open source community. Not to mention current implementation quality of Tmax Window. In the other words Tmax Window has too many hurdles to jump over and it just passed one hurdle. So will it succeed? Who knows?

I’d like to thank to Seo Sanghyeon and Park Shinjo for numerous suggestions to this article.

Additional Resources

Several social networking websites have a dedicated tag for Tmax Window, including Twitter and Me2day. There are lots of demonstration videos in Youtube.

About This Article

This article can be freely quoted, copied and modified in terms of Creative Commons Attribution 3.0 Unported license. Note that embedded images and videos are not. I (Kang Seonghoon) do not guarantee any factual accuracy and credibility of this article in any way.

This document is written in Markdown markup language, and processed by Pandoc. You can browse the original Markdown text in here.

In Korea military service of men is mandatory, and there are several substitutes of the service: one is the military exemption of technical/research personnel. Such person has to work for selected companies for 30 months (compared with 22 months of normal military service), and cannot change the company in first 18 months. ↩