Question
Thank you for taking the time to sit down
with TechIMO to answer a few questions about SkyOS. Before we start, how about
a brief introduction concerning your responsibilities with the project?
Answer
Kelly Rush: No problem. I am the Lead
Graphics Designer, which means that in addition to helping with various
graphics projects like the user interface, icons, wallpapers, and more; I am also in
charge of deciding who on the graphics team is best fit for working on a
specific project. I have a minor in business management, so I am glad to have
a chace to put my education to good use.
Nathan Palmer: I am the Lead Software
Developer. It’s my job to assemble, coordinate, and hold together a team that
concentrates on application creation and porting. We are also moving into
creating drivers and anything else not found with the core operating system. I have a
large background in business, which often comes in handy for the team.
Robert Szeleny: I am the Founder and the Lead
developer of SkyOS. Back in 1998 I started SkyOS v3 by developing a new
operating system from scratch. If I am not updating the SkyOS website,
writing documentation, or doing research on OS topics; I’m coding everything
from the Core OS and SkyGI, to libraries and applications.
Question
Could you offer us an overview of SkyOS, and
what goals have you defined for the project?
Answer
Robert: Sure. SkyOS should be an easy-to-use, fast, and stable desktop operating system for
the end-user. You should be
able to browse the Internet, watch your DVD’s, play games and do your office
work. A SkyOS user should not even have to know that there is a command line
interface and text-based applications. Everything in SkyOS is intended to be graphical. From
the first “hello” after the BIOS, the SkyOS graphical boot screen, the user
will be in a nice, consistent, and streamlined graphical environment.
Question
What is the motivation for creating SkyOS?
Are you trying to fulfill a certain purpose not already present with an
existing operating system?
Answer
Kelly: Yes, sort of. Initially Robert
started SkyOS as just a fun side project. He was interested in learning how
operating systems work. Rather than just reading about the technologies involved, he decided to dive right in and
start developing his own operating system.
In the last few months we have significantly stepped
up the development process. Since the 3.x versions, SkyOS has become strong
enough to actually start being considered a possible desktop alternative; not to say that it
was an alternative, just that the possibility was there. We
are now taking the steps to make that possibility become a reality.
Our goal for SkyOS is to create a solid,
affordable desktop operating system for the masses. We really believe the
potential is there. Right now there are only two real options if you want to
use an x86-based computer: Windows and Linux. Linux, while being a very strong
kernel with several nice distributions, is not acceptable for everyone. This leaves
Windows as the only currently option. I believe if a viable option existed,
many people would choose to explore it.
Robert: Hmm, my motivation for working on
SkyOS? In the beginning, 1996-1998, it was very hard to keep myself motivated
to work on SkyOS, especially as I had just started programming in 32-bit
protected mode and had no clue about such development processes at that time!
But as the code matured, SkyOS itself became
the motivation for SkyOS. Seeing how much had already been done made me
even more motivated to continue working on SkyOS. The positive feedback
and acceptance I get from users all over the world also gives me all the motivation I
need.
In reality, I can’t think of any other
project which could be more interesting than developing a new operating system
from scratch.
Question
What is the typical day like for the SkyOS
developers?
Answer
Kelly: I tend to keep strange hours due to the time zone differences between Robert and myself. I
generally start working with Robert around 2:00AM EST. While he is working on various
fixes and additions to SkyOS, I am usually working on something for him to
implement like new icons, GUI additions, etc. I am very thankful for the
Internet. I do not know how a project like this would have been possible just
10 years ago.
Nathan: I unfortunately am not able to
keep the strange hours that Kelly does because I have to rise at 5:45am to
prepare for work. Depending on the nature of what we are doing, I have been
known to occasionally keep late night hours. I try to keep in close communication with the people on my team and
provide them with any information that will help further the development process.
SkyOS does not contain a whole lot of documentation for programming yet, so it
is my team's job to gather as much information as possible while maintaining constant
communication with Robert.
Robert: Whenever I have a bit of spare
time from work and hobbies, I sit down to code on SkyOS. When there are no
other things to work on like updating the website, answering questions in the
forum, shipping discs etc.; I can fully concentrate on developing SkyOS. One or
two days a week I’m developing until 03:00-04:00AM in the morning, and I try
to have a “free” weekend once a month to fully devote to SkyOS. Since we started the new GUI, I’ve also been busy in the early morning
coordinating with Kelly about the new GUI changes we want to implement each
day. From 20:00-23:00 I’m normally just answering emails, ICQ, and forum
questions about SkyOS.
Question
January has been an active month, especially
following the beta release of SkyOS 5.0. What features do you hope to
introduce or capitalize upon with this new version?
Answer
Kelly: Wow, quite a few, actually. As
far as the GUI and graphics go, basically we are hoping to move the look away
from a “one-man” project to something more professional. This also has the
added benefit of giving Robert more time for coding, instead of spending it
making various graphics as they are needed. On top of the brand-new GUI, we
will have about 20 wallpapers, a completely new icon set, the new OS installer
(seen briefly in TechIMO's SkyOS 5.0b
review), and a new software installer. I am surely forgetting something, but that’s the bulk of
it.
Nathan: My job is to bring some great
applications for the 5.0 release. I am looking forward to a very usable
operating system once it comes out. A lot of work has been put into getting to
know development for SkyOS. One great advantage that we have is if something
is not currently provided by the operating system we can talk to Robert and
usually work out the best option. Applications that we are working on for the
5.0 release include: Abiword, Gaim, Web Browser, E-Mail, CD/DVD Burning, Paint
program, Calculator, Image Viewer, and possibly a few little extras.
Robert: SkyOS 5.0 has a ton of
new features when compared to 4.0. The users will see many new features like
the new GUI, new applications, and the new filesystem; but most features were
added under the hood of SkyOS, and a number of parts were completely
rewritten.
Question
The SkyOS 5.0 beta program has proven
popular, though some question the motives of requiring beta testers to join a
paid testing program. Could you outline the reasons for requiring testers to
pay an enrollment fee?
Answer
Kelly: Certainly. We initially were not
planning on having a “beta” phase, as it were, for SkyOS 5.0. However, due
to extreme demand, we decided to go ahead and allow a small team of beta
testers. In order to limit the number, rather than making a general download
available, we decided to make people sign up while limiting the number of testers
to no more than 100. This ensures that we are able to respond personally to
all of the feedback that we are given. Communication is very important to us,
and we try our best to make sure we can have a close relationship to our
community. I think the small team size really helps the effort.
The reason that we decided to require a small
fee is basically to cover costs and also to provide some extra funding to our
project. The $30 fee is actually the same price as retail price of the SkyOS 5.0 Final
release. So you can either pay $30 when SkyOS 5.0 Final is released, or you can
pay it now, receive a beta copy of 5.0 to test, have access to the beta forums to
get your questions answered personally, and then also have SkyOS 5.0 Final
shipped to you when it is ready. You really are not paying anything extra,
but you are receiving much more.
We also intend to make a free version of
SkyOS 5.0 available, though we are not exactly sure on what form
it will take. There will always be some form of a “test” version
of SkyOS made available for free download, much like how BeOS made both personal
and professional versions available. I can not see why you would expect people
to pay for your operating system without having a chance to test it first.
Would you go to a car dealer, just pick a random car out, and buy it with out
test drive? Of course not! You would get in, drive it around, play with the CD player,
and kick the
tires. Why should your operating system be any different?
Question
Do you have a development timeframe or goal
for the public release of SkyOS 5.0?
Answer
Kelly: Well, if there’s one thing I’ve
learned from working on these types of projects, its that you should not tie
yourself down and promise dates if you don’t know. The video game industry
is notorious for this type of marketing.
Robert: Definitely. That said, we are hoping
to have a release in 3-6 months. We still have many things we would like
to finish before we call 5.0 “Final”. Most of the big changes and
additions are done. The new “SkyFS” (based off the OpenBFS) is implemented and working well,
and the new GUI is 95% complete. It is really down to the little things now,
but all of the little things are still very important.
Question
Development of SkyOS has been moving swiftly
over the past few months? Upon release of SkyOS 5.0, what tools and/or
documentation will you be offering to third party programmers to aid in
the development of software and device drivers?
Answer
Nathan: We have already started a small
development section of the website to help people understand how SkyOS
works. This section will expand greatly over the upcoming months. It is my job to document and pull
together tutorials for interested developers. Robert has already provided and will
keep providing documentation as his time permits. I try to take as much burden of
off of him as possible. He has his hands full, as you can see. We
understand the importance of having developers creating applications for SkyOS.
I plan on making sure that of all the required tools and resources are
available to them.
Robert: As you can see on www.skyos.org, we
started the SkyOS Developer Network not too long ago. This site will contain
various information and documents about developing for SkyOS. Furthermore, the
SkyOS Forum has many questions and answers on development issues.
There are already many tools available for developing
under SkyOS, such as the SkyDeveloperStudio, the entire GCC and binutils, perl, a Java
VM, and much more.
Additionally, we are about to release a
Driver Development Kit. With this DDK, it will be possible to write new
drivers and general kernel extensions (filesystems, network protocols, etc.)
for SkyOS.
The SDK (Software Development Kit, which has
already been released) will be extended with more sample source code and the
source code for applications like the viewer, SkyDeveloperStudio, and more.
Question
Many developers seem unsure of the exact
licensing model used to develop and distribute SkyOS? Could you clarify the
terms of any agreements or licenses that may be present with your project?
Answer
Nathan: Yes, no problem. Applications that
are ported will be kept within the terms of their respective licenses. If the
application is GPL it will stay open source. We have no intentions of
violating this policy. If an application lets us release it without having the source
available, it doesn’t mean we will make it closed. We have worked closely
with the OpenBFS developers and are giving back to them even though their
license does not require it. We have no problem giving our changes back to the
community. Keeping our applications open source will help the community to
create applications of their own. There is no reason to re-invent the wheel here. The
operating system itself is another story. I’m sure Robert will cover that
part.
Robert: The core OS itself is closed source.
This way I can make sure that no forks of SkyOS will be made, and that there
is always only a single SkyOS distribution. Furthermore, keeping the core OS closed
source makes it possible for me to control and change any kernel function as
fast as possible without waiting for other developers to checkout/checkin due
to different time zones and other considerations.
People interested in developing for SkyOS
will have access to sources for nearly all native SkyOS applications. Also, libraries like
the SkyGI may become open source in near future.
Question
Rumors have surfaced in the past of SkyOS
possibly moving into the open source realm. Is this a possibility, or will the
operating system's core components remain closed source over the long term?
Answer
Kelly: That’s a good question. The core
components for the actual operating system will remain closed source. However,
we have always planned to make almost all of the source for other software
applications that we develop for SkyOS, both ported and team-written,
available for the public to access. We hope that this will be a big help for
developers looking to write software for SkyOS.
Question
With SkyOS 5.0 undergoing continuous updates
during the beta period, could you outline the most recent additions to the
project?
Answer
Robert: The two biggest additions to SkyOS
5.0 since the first beta version are the new SkyFS and the updated WindUI
theme.
With SkyFS, SkyOS now has a very reliable,
stable, and fast file system. The most significant advantage to the user will
be a substantial speed improvement. SkyFS is about 800% faster than the FAT implementation,
especially when handling and creating small files. Furthermore, the new node
monitoring and query support make it more comfortable for the user to use
the SkyOS GUI. For example, the system now immediately updates the filelist in
applications as soon as a file or directory changes. Users can also now
perform fast and powerful “find-file” operations. Using the SkyFS
journaling features, a potential system crash will not destroy any of your
data like could happen with FAT, especially if your are in the middle of a
file creation process. When starting SkyOS after a system crash, SkyFS
automatically replays the journal and your file system is in a clean and stable
state. These are just a few of the benefits of the new file system.
Regarding the GUI redesign, it gets more
consistent day by day. As most of the drawing code for SkyGI is implemented in
themes now, almost every application has the same look and feel. The current
theming mechanism used in SkyOS is very powerful. You can literally change the
entire look and feel of SkyOS by switching or adding themes. However, it’s
not only the visible part which changed as the entire SkyGI was rewritten.
Things like freeform windows with any shape, window shapes, translucent
windows, and alpha blending are supported; plus advanced features like OpenGL rendering and
anitaliasing are now available.
Other interesting new features are the first
version of the ISS (integrated sound system), as well as the introduction of a
COM-like object model. The resource manager has been updated too. You can
read about this very important core part of SkyOS in the SkyOS Developer's
Network.
On the applications side, many new
applications have been made available since 4.0, and much work has gone
into increasing stability and reliability.
Question
During testing at TechIMO, we deployed SkyOS
upon a FAT32 file system. However, recent news points towards a dedicated file
system being developed called SkyFS. Could you explain the basic technologies
behind this file system architecture?
Answer
Robert: The SkyFS (which is based on the
source of OpenBFS) is a 64-bit journaled file system. SkyFS significantly
raises the file size
limit, which was a problem when trying to create very large files on a
SkyOS FAT partition. Furthermore, SkyFS has some really nice features like
very flexible attributes and query support. It is really cool to make a
search over the entire SkyFS partitions using live queries.
The virtual file system layer has been updated
as well. SkyOS now supports node monitoring, which informs an application
immediately if a file or directory has changed. Also, the caching subsystem
was updated, as well as the DirectoryName caching system, and many new
additional features were added.
Question
SkyOS already has a decent amount of software
available with the default installation. What software packages do you feel
are necessary to take SkyOS to the next level as a competing desktop operating
system, and what efforts are being made to develop such software packages?
Answer
Nathan: The architecture of SkyOS makes it
quite simple to port applications over from other operating systems. This has
lead to a larger base of applications than most other alternative systems.
With that said, there are some mainstream apps that we are currently missing. I
want to fill the big voids in the 5.0 release with applications that I
mentioned above: Web Browser, E-mail, Word Processor, Instant Messenger, etc.
This will definitely take us to phase 1. Of course there is always the search
for that killer app. While for Sky 5.0 we are concentrating on porting
applications, there has been a lot of talk about creating some native ones to
better take advantage of the system. This will most likely happen after the
final release though.
Robert: Although SkyOS already has an IDE
with nice features (such as syntax highlighting, project management, language
independent, C/Perl/Java support) and the gnu compiler collection, developing
on SkyOS itself is not very comfortable yet. So what we really hoping to
achieve for the next version(s) is an updated and powerful IDE.
Question
Do you have any new screenshots detailing the
latest additions to the SkyOS 5.0 beta that you would like to share with the
enthusiast community?
Answer
- The new (and hopefully
final) SkyOS Installer
- The SkyOS desktop with no applications open
- SkyOS showing two videos running in the SkyOS Media
Center, as well as SkyKruzer (web browser) displaying the TechIMO.com
homepage, and SimpleCalc, an application by Michael Hauck who is on the SkyOS
Software Development Team
Question
Are there any exciting developments you would
like to comment upon that we may have missed with the previous questions?
Answer
Kelly: As far as graphics go, we have a new
taskbar, as well as a new window theme. We have also added a few minor updates
to the new SkyOS installer.
Nathan: Finding people that are willing to
give their time and effort for free isn’t always easy to do. It is quite
understandable as we all have real jobs and lives outside of this. One big
surprise was a guy from the beta team. Michael Hauc pulled together his
first application shortly after receiving the SkyOS. SkyCalc, a very usable
calculator, is going to be an essential part of SkyOS. It is not exactly a
killer app, but it is something I use daily.
Robert: Many really exciting developments
were made on the kernel and system-core itself. On the user side, I think
applications like the Bochs virtual machine emulator and the ZSNES console
game emulator are really interesting, as well
as the first third party apps like SimpleCalc and SimpleImageViewer.
Question
Once again, TechIMO appreciates the SkyOS
development team for taking the time to answer our questions. In conclusion,
could each team member summarize his primary reason for joining this
interesting project?
Answer
Kelly: Certainly, we’d be glad to do this
again any time. I actually had been wanting to do graphics work for an
operating system project and
had looked at a few other projects about a year ago. I just kept coming back
to SkyOS because it was so mature, and because Robert took the project so
seriously. His level of dedication is very admirable. I don’t mind investing
a lot of time working on SkyOS because I know that Robert is doing the same
thing, plus more.
Nathan: I have been following the operating
system and alternative operating system business since before I can remember.
I still remember how excited I was when I received my first windows 95 CD and then
shortly thereafter moved to OS/2. Since that time I have tried any alternative
operating system I could get my hands on. My biggest interest is on usability
and design. This fits well with me being a programmer. It is so important and is
sometimes quite hit and miss. I wanted to get involved in a project like this,
and SkyOS seemed to be a perfect fit. You need to have a great team to create
a great operating system. I feel like we complement each other very well.
Robert: As said above, I can’t imagine a
more interesting project than developing an operating system from scratch, and to that end,
I will do my best to create an operating system that is a true alternative,
not just an “alternative operating system”, for all the users out there.