AtheOS Wizard Kurt Skauen Tells All
Application framework & Development
by absurd_spork
Two questions, actually:
I think that not having X on board is a good idea, actually, because if you had X on AtheOS, everybody would start porting over X applications and then you'd have a lot of applications with an entirely different look & feel, which would spoil the integration that AtheOS currently offers. However, for the future, there's going to be need for a well-documented application framework in order to facilitate application development (for options such as component development and so on); since you already ported part of Qt to the native AtheOS system, what would you think about porting as much of KDE over to AtheOS as possible without including X, so that not too much of the native system's advantages would be lost, yet you could use the portability of KDE to ensure a broad supply of end-user applications?
I realize that you do very much of the actual development yourself, at the moment. What would you think of partially delegating development, such as putting up a list of "what is needed" to-dos, discussing the actual implementation with some developers, but letting them do more of the actual work? Because you've come really far with the OS, but I presume it's at a critical point at the moment where it needs to gain momentum. You could assume some sort of "benevolent dictatorship," we have at least one case in operating system development history where it worked out fine :-)
Kurt Skauen: Well the "Qt port" used by KHTML for AtheOS only supports exactly those features used by KHTML and nothing more, so I would not really call it a Qt port. It was just that I had to either rewrite the HTML/FORM code in KHTM to use the AtheOS widgets directly or wrap the AtheOS widgets with some "thin" classes that exported a Qt-like interface and used the native AtheOS widget internally. Each widget (like button, checkbox, listview, etc, etc) is implemented individually and the rest of the GUI infrastructure is not ported from Qt but is handled by the AtheOS toolkit itself. I had two main goals when making the port. First to make the browser behave like a true native AtheOS application, and secondly to make as few changes to KHTML as possible and still reach goal one to make it easier to update it when the KHTML team continue to do magic. This solution fulfills both goals pretty nicely.
Making a full Qt port would still be a lot of work. Besides, porting KDE over to AtheOS is not an option. That would just lead to another UNIX with a GUI on top. Not something that I'm very interested in. The AtheOS kernel, filesystem, and GUI have many features that are not found in UNIX and that will play very important roles in the desktop environment. Porting a desktop environment from UNIX would not make AtheOS a new desktop OS. If I wanted to run KDE I would probably have been better off installing FreeBSD/KDE than to write my own kernel/GUI, then wrap the GUI in a foreign toolkit stripping away any special features from the native GUI, and then port KDE to this.
Take a look at the "What are file attributes?" FAQ at www.atheos.cx for one of the reasons why porting KDE or any other UNIX desktops to AtheOS is not something I consider an option.
I don't see why AtheOS is at any critical point or why it needs to gain momentum now. Since the very beginning I have been working on AtheOS on my own, not telling anybody and still the project didn't die. The only change so far was when the TCP/IP stack was finished enough to make it possible to run a web-server on AtheOS. Just for the fun of it I put up a web-site running on AtheOS and suddenly /. found it and a lot of people got a peek at AtheOS.
To me AtheOS is just a hobby that I have been spending a lot of time on. I don't work on AtheOS to "take over the world," or to make Linux obsolete, but simply because I find it interesting to write an OS. Spending 90% of my spare time arguing about technical issues on some kind of discussion forum is just not my piece of cake. I find it much more interesting to implement something than to discuss how it could have been implemented. And I don't know what you mean when you say that this has worked out fine before. So far I have not seen any open-source OS that I personally would consider a successful desktop OS. Take a look at the other non "mainstream" alternate OSes that are developed by a committee or group of developers and compare their progress to AtheOS. Then you can decide whether talking about implementing or implementing is the most efficient way to develop something :)
I am of course greatly welcoming application and device driver developers who target AtheOS though. I clearly don't have the time/resources to concentrate on either device drivers nor applications of any reasonable size at the same time as trying to develop the OS. After all the by far most common kernel-hacking on Linux is on device drivers and not the actual kernel anyway.
How does AtheOS handle Binary Compatibility?
by MeowMeow Jones
(As I'm sure you know) one of the problems with C++ is that modifying a class changes the binary structure of an object. This then breaks any programs that were dynamically linked against this. This problem has been addressed in several ways (CORBA, COM, statically linking in the code, or keeping 800 copies of MFC40.dll on your machine, etc, etc)
This seems (to me, at least) the biggest problem with writing an OS in C++. How does AtheOS deal with this problem?
KS: The fragile-base-class problem will of course always be a PITA when putting C++ code into DLLs but there are ways around it.
There are two problems with the static nature of C++ objects. One is that adding a new data member to a class moves all subsequent members in both the modified class and all classes inheriting from it. Since C++ resolves member offsets at compile time and not run time, this breaks all code that believes it knows where to find a member. The other problem is adding virtual members. Adding a virtual member expands the vtable and moves successive table entries down. Also the vtable offsets are resolved at compile time so this will again break all code that believe it knows where in the vtable to find one of the virtual functions.
The first problem is easy to solve. You just move all data members into a separate private class/structure and only keep a pointer to an instance of this in the API-visible class. Now it is possible to add as many new data members to this private class as needed without changing the layout of the class. This technique makes it impossible to have public data members but that has never been considered good design anyway.
The other problem is a bit more tricky. I know of no absolute solution to this but there is a workaround that give some extra head-room. By adding a few extra (unused) virtual members to each class it is possible to reserve some spare entries in the vtable for leaner times. If it later become necessary to add a new virtual member you just replace one of the unused members with a "real" member. Old applications will still have a reference to the old virtual member so when replacing the dummy I must also add an assembly function labeled with the mangled C++ name of the dummy member that simply returns immediately to avoid undefined references in old applications.
This is of course not a full solution since it is impossible to guess beforehand how many virtual members a class will eventually going to need and sooner or later all the extra-slots are gone and you are left high and dry.
When this happen the only solution (short of declaring the project as finished) is to give the library a new version number. The version number is encoded into the name of the DLL so all old applications will continue to use the old library while new applications will use the new version.
So far I have achieved most of the backward compatibility by making the protocol between the GUI server and the GUI toolkit library backward compatible and then renamed the toolkit library whenever I have had to break backward compatibility in the library. In V0.3.5 however I started to reserve extra virtual members like described above and V0.3.7 will be the first version that achieves backward compatibility by stealing a reserved virtual. The View class in 0.3.7 has an extra virtual callback for mouse-wheel support and this was added without breaking the library.
There are compatibility issues with renaming the DLLs as well, like old applications won't take advantage of bugfixes unless the fixes are backported to the old libs, applications with plugins often can't load plugins linked against a different version of the system libs, and breaking the protocol between the GUI server and the GUI toolkit library will either require a protocol update for the old libraries or the old libraries and the apps that depend on them will become obsolete. Still the techniques described here should be able to give a reasonable degree of backward compatibility and a good overlap allowing people to recompile/redistribute old applications.
It might be worth mentioning that even the latest version of AtheOS is mostly backward compatible with the first released version. I recently unpacked the V0.1.1 archive and tried to run some of the GUI apps and most of them still worked. The most interesting detail here is that between 0.1.4 and 0.2.0 I rewrote the GUI to use floating point instead of integers to describe coordinates. To keep it backward compatible the toolkit library that V0.1.1 - V0.1.4 binaries are linked to are converting all coordinates to floating point before sending them to the GUI server and back to integers when receiving them again. So AtheOS has been backward compatible even across quite dramatic architectural changes.
Embedded devices?
by proxima
Have you ever considered promoting AtheOS as an OS for GUI-based embedded devices? The competition in that arena now is Windows CE, Palm OS, and Linux - but an OO based GUI built into the OS may be beneficial in terms of performance.
With Linux, a device developer has to get the core Linux kernel working and then build a GUI on top of it (XFree86 or a smaller X server). Palm OS doesn't have multitasking and isn't very scalable to powerful devices. Windows CE requires a royalty. AtheOS could provide a powerful operating system for embedded devices for free.
KS: I have no such plans. So far I have no problems filling my todo list with tasks for the desktop version :)
Design an OS with C++
by JWhitlock
According to Bjarne Stroustrup, the core application domain for C++ is systems programming. Having created an OS in C++, what would you say are C++ strengths and weaknesses for your needs? Has the OS evolved along with the evolving standard (the STL, templates, the new type casts, etc.), or have you stuck with the C++ that was around when you started? What features do you depend on, and which do you avoid like the plague? And, of course, if you did it today, would you use another language or make different language choices?
KS: First I might mention that not everything in AtheOS is written in C++. When I first started working on AtheOS C++ was just a post increment to me. Both the kernel and the GUI was written in C. A GUI is pretty much object oriented by definition and almost all GUI toolkits are object oriented in some way. And so was the first AtheOS GUI. It had an object model with objects, inheritance, and virtual members. Writing object oriented code in a function oriented language is of course like shooting yourself in the foot but I didn't know any other way. When I later learned C++ I realized this and rewrote the GUI in C++ and was finally able to 'concentrate on the functionality rather than on how to twist an object oriented design into a function oriented language. The kernel however is much more function oriented so I have not seen any reason to rewrite it in C++. I have often considered to compile it with a C++ compiler to be able to take advantage of some of the "advanced C" features in C++ but so far I have not taken that step. C++ is a bit too implicit to make it comfortable to use in the kernel.
I like C++ for several reasons. It is well supported, integrates easily with C and has a nice balance between highlevelness and efficiency. I sometimes miss the more dynamic structure of higher-level languages but I'm not sure if I would be willing to pay the performance price required to get those into C++.
As for following the evolution of C++ I think AtheOS is doing pretty well. There is nothing in the architecture that prevents me from using any of the C++ features. AtheOS make heavy use of STL. It also uses most other features, like exception handling, RTTI, multiple inheritance (and thus also the new type-casts), operator overloading, templates, etc etc. In short I use all the C++ features I need to get the job done. I would not have chosen another language today. The first choice (C) was a very bad one (for the highlevel stuff) but I'm quite pleased with the current one.
Are you happy?
by An Anonymous Coward
... about not having some bearded weirdo running after you, crying: 'It's GNU/AtheOS, it's GNU/AtheOS!'?
KS: Well, I'm not sure if that is what makes me happy but I believe having some bearded weirdo running after me crying 'It's GNU/AtheOS, it's GNU/AtheOS!' would make me sad :)
CD-Rom support
by timothy
Kurt:
I much prefer to install software (at least anything over several megs) with a CD than over the net, and there are a lot of old documents that I have converted to CD for storage. I wouldn't want to buy a machine without a CD-ROM drive :)
Is bootable (or other) CD-ROM support planned? Perhaps many people would be able to sample AtheOS easier if they could (for instance) order a CD from Cheapbytes and install it locally, pass to a friend etc. Considering the progress on the other aspects of the system, how important do you think this is, or are there technical difficulties (other than time) in getting CD-ROM support to work?
KS: There are some technical issues with a bootable AtheOS CD but nothing that would be a real show stopper. The issue I had in mind is the fact that the AtheOS filesystem have much better support for user defined metadata than traditional filesystems and while the current version of AtheOS don't make any use of this it will be very crucial in a not-too-distant future. This should not be a real problem though. It only means that the boot-CD must contain a native-AtheOS file system rather than a ISO filesystem.
The real problem is lack of drivers that can support a CD-ROM. Personally I don't miss the CD-ROM very much so the driver is not very high on my personal priority list.
I know several developers have been poking around on a IDE driver that Jesper Hansen originally wrote to add support for ATAPI. So far I have not seen any results but I assume that sooner or later someone will come up with at least an IDE driver that can handle a CD-ROM.
AFAIK there is nothing in the kernel that would prevent adding support for any kind of CD-ROM with a regular loadable device driver.
Limiting the scope of AtheOS
by
brennan73
It seems to me that it'll be extremely difficult for AtheOS (or any new OS, really) to do everything well; even Linux, which is pretty widely used, isn't a be-all, end-all solution yet (and maybe never will be, or never should be). So have you considered limiting the scope of AtheOS (possibly severely), and aiming at doing a relatively few things exceptionally well? Here I'm thinking of BeOS, which was usually promoted as a "multimedia OS." It seems to me that this might be a way for alternative OSes now and in the future to stake out some territory: do a few things very very effectively rather than trying to be all things to all people.
Of course, if you're doing this as a fun/interesting thing, you may not care as much about a niche or widespread acceptance. But, still.
KS: What few things can be done so exceptionally well that you don't need anything else to make a useful desktop OS? First I might mention that the main motivation behind AtheOS is my interest in OS programming. I have no "strategic plan" on how to lure people to AtheOS. To me the most important thing when it comes to AtheOS is that I work with things that interest me. I'm very interested in making a user-friendly, consistent desktop OS that is easy to configure and where the command-line is only something you use if you are familiar with UNIX and like to do certain things there. Not something you must deal with in your everyday use of the OS to maintain cryptic text-file based configurations. To achieve this I believe it is necesarry to have a quite broad feature set.
PPC?
by mcc
Some minor questions:
Do you consider it likely that at some point in the near future AtheOS will develop a PPC port?
I realize that the AtheOS developers are very busy with the hard work they are doing and that there is no good reason for them to expend effort on a PPC port. However i was wondering if you think that there is enough interest among extant developers familiar with the ppc/chrp/macintosh platform that someone might feel like cobbling together a port.
That being said, I was checking and trying to figure out: does AtheOS have some kind of flexible arbitrary-server auto-upgrade "package"-style system along the lines of the debian apt-get? if not, are there plans to implement one, or perhaps port apt-get and dselect to AtheOS?
KS: I have no interest in such a port at this stage. There is still a lot to do even without trying to support multiple platforms so I don't feel like using any energy on getting AtheOS to run on non-x86 machines anytime soon. Almost everything in AtheOS is written in portable C/C++ and there is nothing in the design that binds AtheOS to the x86, so there is a fair chance that you will see AtheOS on other platforms some time in the future but don't hold your breath. The babes won't like your new face color. This is covered a bit in the FAQ BTW.
AtheOS doesn't have a package manager. Some kind of application installer would be nice but I'm not sure if a regular package manager from Linux would be appropriate. In UNIX all the files from all the packages are blended together in one totally unmaintainable (by humans) soup of files. AtheOS is a desktop OS not UNIX so there is no reason why things should be handled this way under AtheOS. I have built all the CLI packages so each goes into a separate directories to make them a bit more manageable. Native applications will mostly be handled by the desktop manager and there is/will be features in AtheOS that can aid applications in locating their own directory (based on location of the executable) so it will not matter where on the HD an application is installed as long as the desktop manager knows where the executable is.
AtheOS and GPL?
by Midnight Ryder
Greetings ... Another poster mentioned the idea that you were considering moving AtheOS to a different license. Is that the case?
Secondly, if you are considering putting it under a different license, why? And, why did you select GPL licensing for AtheOS as opposed to a number of different licensing choices out there? (Regardless of if you are or aren't moving AtheOS from a GPL license.)
KS: I will probably change the license of the kernel and possibly the application server to LGPL to make sure the AtheOS license don't "leak" into third-party device drivers. I don't want the OS to dictate what license people might choose for their software.
The reason I chose GPL in the first place is more of a coincidence than anything else. I'm no lawyer and the GPL seemed like a decent choice. I must admit that I have grown very tired of all the fanatic GPL advocates screaming loud whenever they see something non-GPL though and if I ever go away from GPL altogether (to for example the BSD license) it would most likely be in protest against the attitude of the GPL advocates.
Now what?
by baptiste
My question: Sure you did this for fun and it is a beautiful OS. But as it gains attention and user interest, do you have a target audience in mind? Who do you think should use AtheOS -- who will derive the most benefit?
KS: The next step is to tie most of the kernel/GUI functionality into a desktop environment that takes better advantage of things like file attributes, mime-types, node-monitoring, the AtheOS messaging system, drag-and-drop, etc etc. Right now AtheOS looks more like a regular UNIX than anything else since few of the AtheOS specific features are really used. This will be a important step to define AtheOS as a desktop OS and not just a UNIX with a GUI.
Still for the forseeable future I guess the target audience will be application and device-driver developers. It doesn't make much sense for anybody else to install the OS before a decent application and HW support base are in place.
Windows apps?
by JohnTheFisherman
I know a lot of people hate Windows here, but it certainly has the lion's share of apps. Can/will/do you plan to add a windows emulation layer, or some fairly painless way of running Windows apps? Same for X/GTK/etc.
KS: I have no plans for a "windows compatibility layer" of any kind. The sheer amount of work this would require is enough to put it down. Beside I work on AtheOS for the fun and trying to emulate something as gross as Win32 and then trying to keep up with newer versions is not really something I consider fun.
As for X11, things are a bit different. It would be nice to have a X11 server for AtheOS that integrated X11 apps as nicely into the native desktop as possible to be able to run remote X11 applications from UNIX machines. This works quite nicely with several X11 server under Windows and I don't see why it shouldn't work for AtheOS. I stress that I consider this a good idea because it would make it possible to run remote UNIX apps on the AtheOS desktop. Not because I want to port GTK or any other toolkits to AtheOS. Having multiple toolkits will just cause the same compatibility and interoperability problems you find on Linux.
Another take on Windows apps
by n3m6
Why not include a DirectX emulation? It would be easier on his OS since its not tied to X and input devices are not a separately controlled ... if he could do that could this be the next gaming platform? Now that would be serious competition ...
KS: There isn't much point in DirectX emulation without the rest of the Windows API's since none of the games would run anyway.
I believe it would be much better to go for an open standard like OpenGL than to try to reverse-engineer a closed standard like DirectX in order to emulate it.
How do I do it?
I don't see why AtheOS is at any critical point or why it needs to gain momentum now. The only change so far was when the TCP/IP stack was finished enough to make it possible to run a web-server on AtheOS.
The right tool for the right job.. definately should be applied to operating systems. sounds like this one is good for end users. maybe take on windows? making an os for presenting information to users is a good idea.
TechieNews Network help us beta!!!!
Website Hosting
Take a look at the other non "mainstream" alternate OSes that are developed by a committee or group of developers and compare their progress to AtheOS. Then you can decide whether talking about implementing or implementing is the most efficient way to develop something :)
(from the article above)
Wow. This guy has some strong feelings! But hey, it's his project and he certainly has done a lot considering its a one-man deal. I guess different development styles work better for different people...
___
The way to see by faith is to shut the eye of reason. --Ben Franklin
Just 10 days ago, OSNews also hosted a very interesting interview with AtheOS' Kurt Skauen. Kurt talked about binary compatibility, gcc 3 and a lot of other things.
Actually, Linus has all but endorsed including "streams" or "resource forks" in Linux in this posting. These would make the implementation of AtheOS-like attributes trivial, and certainly KDE/Gnome would provide support for them. So, despite Kurt's other arguments against KDE, there will be few technical reasons that keep it from being ported. (Someday.)
-all dead homiez
The most interesting detail here is that between 0.1.4 and 0.2.0 I rewrote the GUI to use floating point instead of integers to describe coordinates
He doesn't elaborate on why. Any ideas on why a desktop OS needs floating point coordinates in it's GUI?
___
The way to see by faith is to shut the eye of reason. --Ben Franklin
This (along with his comments about not wanting the GPL to leak out to other code) makes me interested enough to want to check it out. It's nice to see that not everyone (especially, everyone featured *here*) is blinded by GPL zealotry and chauvinism to see that not everything implied by the GPL is good.
He is right about the GPL advocates in my opinion. Lately [past few years or less] it has been evolving into a huge problem. Many times I've been wanting to move away from GPL, partly because of the ideas it stands for [it feels like a virus to me, don't get me wrong, I'm all for open source, but GPL after some thinking just seems plain viral], and the people that defend those ideas [GNU/whatever, GPL=good - (Universe/GPL)=bad] towards BSD or something.
This may seem a bad reason. But GPL is all for believing in the ideas of programming and software-using entities it stands for. BSD is that as well, and although it's very radical, it still is a good license for either people who strongly believe in what it stands for, or people who believe in OSS and disagree with the hard viewpoints of the (L)GPL and wish to make a stand.
It's all about standing up for what you believe in and/or standing up against what you disagree with. It's pure democracy.
...that not only fanatics are allowed to post/answer to articles/interviews here on slashdot. To bad that anyone else saying anything similar is modded down as a troll in a few seconds.
"I must admit that I have grown very tired of all the fanatic GPL advocates screaming loud whenever they see something non-GPL though and if I ever go away from GPL altogether (to for example the BSD license) it would most likely be in protest against the attitude of the GPL advocates."
Gosh, A sane person on slashdot, is that really possible?
...mind you, I don't entirely agree with it, but he has a valid one just the same. He wants a consistent (or mostly so) app look and feel not unlike what people see with Windows, MacOS, AmigaOS, etc. With the perponderance of app and gui frameworks out there (Heck, the Fltk bunch are coming up with their own full-fledged app framework...) that the look and feel is completely confused. For most, this is not a problem, but to use this analogy- what would you think Joe Sixpack would do if a car's transmission was a stick-shift and you used a joystick for steering, acceleration, and braking? It'd work (and probably better than what we've already got), but it'd sure as hell confuse him, wouldn't it? Well with all the toolkits, etc. we have in the Unix world, we're presenting the same sort of conflicting interfaces to the user.
I am not merely a "consumer" or a "taxpayer". I am a Citizen of the State of Texas
It's actually a pretty good idea to use some other form of measurement. If you just use pixels, then things can get wierd when you change resolution. If your screen is 3 units high by four units wide no matter what, this doesn't matter.
Trolls throughout history:
Jonathan Swift
Chosing a BSD style license over the GPL is like holding up wads of money in the middle of the street and screeming "rob me!!!!"
I was just thinking of installing AtheOS, and possibly doing some development for it. I don't know how AtheOS's graphics system is like, but I thought it would be an interesting task to allow it to use Xfree drivers ala solaris.
;)
Also USB support and a PowerPC port would be neat as well. I would be willing to help on either, although I don't have much experience porting operating systems to PowerPC
Once I get myself a license to vmware, I'll probably take a serious look at doing some development on this.
The real problem is lack of drivers that can support a CD-ROM. Personally I don't miss the CD-ROM very much so the driver is not very high on my personal priority
list.
Although he doesn't miss the CD-ROM, anyone else using an OS for anything but 'play' purposes certainly would. CDs have become the 'new floppies', mainly because there is almost nothing that will fit on a 1.44M (or even 2.88M) floppy. When you are writing the OS for your own goals, experimentation, and purposes, however, what you don't need doesn't get implemented. Good Luck to Kurt on his work.
I think...I think it's in my basement. Let me go upstairs and check. -M.C. Escher (1898-1972)
So that you don't have to worry about the resolution of the display. Floating point would enably you to say "print object a 10% from the top and 2 * width_of_object from the left". Then you don't have to worry about supporting weird resolutions to get proportions to appear right.
science is a religion
That would just lead to another UNIX with a GUI on top. Not something that I'm very interested in. The AtheOS kernel, filesystem, and GUI have many features that are not found in UNIX and that will play very important roles in the desktop environment. Porting a desktop environment from UNIX would not make AtheOS a new desktop OS. If I wanted to run KDE I would probably have been better off installing FreeBSD/KDE than to write my own kernel/GUI, then wrap the GUI in a foreign toolkit stripping away any special features from the native GUI, and then port KDE to this.
Finally, someone with the balls to stand up to the UNIX/X weenies.
I'm glad there are people out there working on alternative OSes geared more towards the desktop than the server, seems like too much focus lately has been placed on making UNIX something it wasn't intended to be, rather than starting from scratch.
UNIX is great, but not for everything. Props to Kurt for defending his vision.
C-X C-S
My god, someone who's writing code for the fun of it! Kurt's not trying to conquer the world or make some deep philosophical point -- he's just having fun.
Congrats man; let me buy you a beer if you're ever in the Tampa Bay area.
As for the GPL zealots -- well, I just switched to releasing my code under a libpng/zlib-style license. I'm not interested in helping RMS & Company win a revolution by berating people to death...
All about me
I like the fact that he's attacking this as an operating system and not just "Unix with a GUI." While the market splinters for server operating systems we still face dominance at the desktop and that's just not good. There should be someone other than MS and Apple attempting to play in this arena so we can force innovation. I just hope it doesn't end up like BeOS...
Of course we torture people, we need the information --Gen. Pinochet
Could you moderate this up? I would really like to know how he expects people to use the OS without CDROM support. Thats almost like not having video or keyboard support....
Free as in speech has become the same as free as in beer.
I think that's one of the areas where RMS's plans have gone wrong. Based on most of thier position information, they advocate the Free Speech part, but not nessisarily the Free Beer part. But, how many people running stuff under Linux even consider the idea of buying something they can download (YES, there are some. Just not most Linux users. Even I've bought one RedHat distro back in the 5.x days, and I'm not a heavy duty Linux user.) But, it's also an inherent 'flaw' in the GPL (depending on how you look at it, it can be a flaw or benefit.)
Personally I think the best solution would be a licens that is basically a open source licens but makes it possible for the authors to charge for the softwares USE. In other words, you get the source, you may modify it however you want to but you have to pay for it if you use it.
Not a bad thought, but, I see one serious problem - license enforcement. How do you enforce a license like that? You can't do monitoring - lord knows I wouldn't run the app if you did. If you distributed the source, then any monitoring or other systems you put in place for it can be easily removed. And redistribution would be a PITA (IE, someone modifies it and passes it to someone else) and quite a few other scenarios would really put a kink in things.
Such a license should have one other clause, IMHO - if you quit selling, supporting, or distributing a version of the software, it becomes public domain within a year. To me, that's one of the reasons I support the GPL (and similar licenses) - if someone quits developing it, and I've been using it, then I can continue to develop the software to further meet my needs, and others can benefit from my changes (and I can benefit from thiers.) I've been looking at such a clause for a license I've been working on for the games I write. (Yes, I know - Yet Another License. Well, I want something that fits both my ethical needs (giving the software I write a future even if I abandon it - customers should always have the right to pick up where I leave off!) and my financial needs (getting PAID to develop games!))
Davis Ray Sickmon, Jr - looking for something to read? Check out my three free novels at MidnightRyder.org
when an OS comes from the fire and passion of someone's hobby rather from the emptiness of their wallet it sparks an instrest in the eyes of true belivers. which in this case goes to show you that its a hobby that he likes to do and that from this only more people who are like him will start developing with him because they feel the same way and other people that want to make more of a muntant *nix with it were more turned off to devoting time towards this. but only time will tell what will come of AtheOS
Dumb a$$. You have no idea the accomplishments done by Kurt in his OS. Getting the OS *so much down the line*, the kernel, vm, fully attributed 64bit journaled fs, gui all written by a single person, it is almost a life's achievement. A LOT of things are still needed to be done just because the OS development is a vast amount of work. Either wake up, or try to learn C/C++ programming a bit, and then you will see how deep the rabbit hole goes.
If you want to write CD-ROM support for it, I'm sure he'd be happy to let you.
Silly wabbit, he plays one in D&D. I hear he's past 22nd level too, so watch your mouth.
The irony is that the attitude you exhibit itself is also an example of zealotry. If you make your choice of license based not on the features of the license itself but on the behaviour of the vocal fringe of its promoters, then you yourself are being a zealot. There can be plenty of well thought out reasons not to use GPL for a project, but "I don't like the attitude of its advocates" isn't one of them.
Don't label something "offtopic" unless you know the topic well enough to tell what's on topic.
Just because some GPL fanatics say stupid things, does it mean GPL is bad? Not seeing the logic here...
Escher was the first MC and Giger invented the HR department.
One of the huge problems I've got with some GPL advocates anymore is that they don't even UNDERSTAND the GPL. For instance, I've had to speak up to defend someone who build up an online package where you can get a news site setup in minutes, software and all. It used a semi-popular GPL'ed weblogger. Well, someone got REALLY offended, and said he was violating the GPL, blahblahblah both to the mailing list and to the person who built up the package.
I then explained, chapter and verse quotes from the horse's mouth, that the GPL implicitly allows someone to sell a GPL licensed software package, even if it's not the original author doing the selling. In the end, the guy who was selling the package moved to a different weblogger entirely, which took away some of the potential popularity (not that it matters THAT much.)
There's a lot of people out there that advocate something that just plain haven't read and understood completely. If you are a GPL advocate, or are involved in a GPL project - please, read the entire GPL (or LGPL if you use it) and read all the supplementary stuff at GNU.ORG that explains what all the rights that are granted really are, and what it really means for the projects you support or are involved in.
Note - I'm not saying all advocates of the GPL are like that. Just a growing number of them are.
The other problem I have is some people are under the opinion that GPL grants users certain rights. That's fine - but I don't have to agree with those rights, just like in real life we don't HAVE to agree on moral standards by which we live our lives. There are laws that set a minimum standard for our moral conduct (not that I agree with them) and there are laws that set a minimum standard for our rights as software developers and software users (not that I agree with them either :-) The GPL advocates that tend to piss me off the most are the ones who forget that I, as a software developer, have the right to choose what rights I grant to a user. The user makes the ultimate choice in the end - do they agree with the rights that I grant them and buy my software, or, do they disagree an not purchase the software I create and sell? In the end, it's the users that make the rules for how I conduct my business (which, oddly enough, is part of the reason why I'm writing my own license that I mentioned in another post that fits what I feel are the rights I should be granting to my users, while still meeting my financial obligations. GPL doesn't fit either of them, and neither does current us Copyright laws ('specially post DMCA!))
Davis Ray Sickmon, Jr - looking for something to read? Check out my three free novels at MidnightRyder.org
If you pick your license based on what you think ifs advocates (and not even the majority of its advocates, just the vocal minority of them), INSTEAD of the features of the license itself, then you yourself are being a licensing zealot.
There are valid reasons to pick other licenses instead of the GPL. The (percieved) attitude of its adovcates isn't one of them.
Don't label something "offtopic" unless you know the topic well enough to tell what's on topic.
Stop the RMS bashing you fucking idiots. This guy was coding systems software & fighting coporate greed when you fucking dorks were playing donkey kong on your commodore 64's. This is getting so sickening.
It is very nice to see someone forging ahead and implementing his vision. I know he's not the only one, mind you, but there is far too much circular self-justification in the Linux community. I mean that honestly, not in a trolling sort of way. For example, quite a large number of people are unhappy with X for a variety of reasons. But the discussions always go like this:
A: X is from the mid 1980s, back before we knew what we wanted out of a desktop GUI. It is too large and complex for what it gives us. I sure would like to see an alternative.
B: But X exists already! Sure you don't like parts of it, by why throw out the baby with the bathwater! We can improve it and make it work better.
And so on. And then fifteen years later we're still all reliant on X. I'm not trying to bash X specifically, just point out that it is nice to see someout with a different point of view who is following through on his ideas.
funny
"BSD is about people pissing each other.." (Moid Vallat)
Enlighten us, please.
Magnus.
Or does this guy totally HATE linux?
The first time I checked out AtheOS, I read an anti-penguin graphic on their site that said something to the effect of "What good are birds that don't fly?"
Then Kurt writes "If I wanted to run KDE I would probably have been better off installing FreeBSD/KDE.." Wouldn't Linux/KDE be the first example most people would think of? I'm guessing he did this to downplay Linux, much the same way people downplay their admiration for the beautiful girl that won't talk to them.
I can't give more examples right now, but from my impression of this guy is he's a BSD/KDE advocate who has enough time to write his own OS.
Writing your own OS is quite a feat, but i'll respect him more when he stops being the typical KDE/BSD zealot/eliteist.
You go Girl! heh... congrats on OSNews too... never thought i'd see you using the $$ though...
I understand that porting DirectX is unlikely to make any software run on his OS as is, but wouldn't providing a directX api also allow his OS to hook into the directx driver layer, thus giving him a big body of working device drivers. In general I agree that emulation in the OS is a big waste, but emulating the hardware layer of other os'es seems like a good idea.
Of course most drivers are wrappered with configuration programs nowadays, and these would not work, but at least he would get basic support for some HW (accordingly he would probably want to use the most common hardware layer, whatever that is.
Or am I confused about how driver layers work?
From a conceptual standpoint, it makes more since to talk about something in "inches" or "points" than it does to talk about "pixels". Pixels are a different size on every screen. With a floating point system the graphics device can then be abstracted to a surface with dimensions x units X y units where those units are real world. Thus you can make a window that is 3 inches by 5 inches and it will be 3 inches by 5 inches on whatever output device it is presented on. Of course with most of these systems you can still revert to a pixel-based mapping mode (think MM_TEXT vs MM_LOENGLISH if you're a windows programmer). The floating point makes it easy to use various units that aren't defined by some quanta (there's no such thing as 1.5 pixels, that's either 1 or 2, but 1.5 inches is a VERY real measurement)
that's the intent of the BSD license, a symbiotic relationship between business and community.
Are they really that different?
Ever heard of a workstation?
They are really not that amazingly different.
The speed increase by having tons of buggy GUI code built into the O/S is unecessary for normal windowing operations, and insufficient for high performance games.
What ever happened to copying your opponents victories and avoiding his mistakes?
Its very convenient to run a server programs on your workstation. Dont be fooled. There is no need to have tons of identical hardware single purpose machines. (one web server-one file server- one desktop). Such is wasteful.
I think people who real want there code to be used by everyone should do it.
GPL style and then the less restrictive BSD -style licenses I think are the most common. This way it can be integrated into more programs.
Stands for atheism. That's right, he's a godless monster!
Go with god-fearing microsoft software at all times.
In the beginning I had the word as "ass" (you know me, I tell the things the way they are), but then I thought that the Slashdot web developers may have added a filter, so I changed it to "a$$". :P
It only means work he has already released under the GPL stays under the GPL. There's nothing preventing the copyright holder from putting future releases under a new license (see: Ogg Vorbis).
Isn't the whole point of the GPL to ensure that once code is licensed under the GPL, it will remain GPL? Otherwise, what would prevent me from taking Altheos, making some slight modifications and then releasing it under, say, the BSD license?
Okay, I know the trolls have pointed this out a million times, but releasing AtheOS under the BSD license would mean your code would be copied & pasted straight into WinXP. If anybody feels like working for Microsoft without pay, just release their project under the BSD license.
:)
You may call me a troll, but I'm serious & you know what I say is true.
Where'd you think the Windows TCP/IP stacks came from?
anyone got plans for porting SDL to the AtheOS?
...I noticed he uses gcc and the GNU binutils.
So, I have to ask, when is someone going to write a "alternative" set of compilers/binutils from scratch, so he (and the rest of the GNU/bashers) can finally be "free"?
Treatment, not tyranny. End the drug war and free our American POWs.
See my user info for links.
GNUS makes slashdot look like nntp :)
(Score:-1,Offtopic)
*cough*
/me mumbles to Eugenia "The VM has been broken since 0.1.2, not fixed although not missed"...*cough*
Although I agree with you that the whiney kid above you should put up or shut up. IDE support for one chipset is no laughing matter, let alone attempting to support the multitude of horribly buggy IDE chipsets. I just hope Joe & Co. come up with something soon; install from CD would be sweet...
Syllable : It's an Operating System