Domain: webcom.com
Stories and comments across the archive that link to webcom.com.
Stories · 9
-
Why Japan Gets the Cool Stuff
haahr writes "Good article about why the coolest electronics products are available first in Japan and may never make it to the U.S., in Slate." -
Certifying Software As Secure?
perikalessin asks: "It's obvious that software companies can get to the point where they're large software companies and still generally tend to be only reactive when it comes to security issues, not proactive, in terms of getting security audits, evaluations and certifications on their products. After several weeks of research, on and off, interwoven with other projects, I finally found the important keywords for anyone who wants to look into this topic: 'security evaluation', 'Common Criteria', 'ICSA' and older phrases: 'ITSEC/TCSEC' and 'Orange Book'." If you've ever performed security audits on software, your input would be greatly appreciated."It turns out that the much-touted Microsoft Windows NT 3.5 and 4.0 TCSEC C2 rating basically states that the operating system assures separation of users and data and audits user and security-related events -- capacities that are essentially standard expectations of any modern 'enterprise' operating system. That rating is essentially two (2) levels out of seven (7) from the rating for utter lack of security (D1). See the U.S. Government's Commercial Product Evaluations page and its associated Trusted Technology Assessment Program (TTAP)'s FAQ entry on TCSEC evaluation rating interpretation for more information. For now, be aware that the evaluation ratings go non-intuitively, from lowest to highest: D1, C1, C2, B1, B2, B3, A1. Microsoft's rating also only applies to very specific configurations of the Windows NT Operating System and none of its frills -- like ASP, for instance.
Still, even from the standpoint of researching evaluation and certification options, it looks like only International Government Evaluation (i.e. the 'Common Criteria' evaluation process) and perhaps the ICSA certification are available to any vendor who wants to be pro-active and benefit from standards in the process. (Please let me know if you know better!) And I've talked with a number of hacker types who sneer at the idea that any of these certifications are worth the money and effort to put into them.
At the same time, pointy-haired types eat this certification stuff up. In point of fact, government contracts can be much more possible and much easier to obtain if you get certified this way, and as Microsoft's spin-doctoring of their C2 TCSEC rating points out, it just makes the company that has the rating look more responsible, all around, or can, if your readers and customers don't know what the rating actually means.
Sure, it's possible to contract with any security auditing firm to get something or someone to say that your product's at least minimally secure, but it's still unfortunate, but true, that if you want any kind of widely-recognized, standard certification, you'd better actually seek out some kind of formal evaluation and rating.
Do people agree, disagree, and either way, can they prove it?"
-
Feature:Introducing Ox
Well, maybe it isn't actually an introduction for everyone, but for a lot of us, Lalo Martins has written a nice article to reacquant ourselves with Ox, an Object Model for computers. Check it out if you're interested in learning about it. The following was written by Slashdot reader Lalo Martins. The Ox projectShortly, Ox is a complete full object model, meaning it wishes to make possible to access anything you expect from a computer in an object-oriented interface. An object-oriented interface means everything you could want to access is an object and, as such, has a class, and benefits from inheritance and polymorphism.
To use my favourite example, in Ox you won't write a "word processor" application; instead you will write a "word-processing-document" class, and objects of this class (documents) would contain all information they need to edit and print themselves, and all other functions you would expect from a word processor, plus others that are made possible by a pure object-oriented environment.
Hovever, Ox does not want to trash all existing software; one of its minor goals is to have hooks to make possible compatibility with anything - and no, I'm not exagerating, the idea is being able to using anything from grep to perl to self (a programing language) to PNG images to old MSX games.
ContextThere are many object models. There are many good object-oriented programming languages. There are many object-oriented databases. There are even many good object-oriented tools to make programs cooperate - such as CORBA and ILU. But they are not object-oriented environments.
The very phrase I used to describe CORBA and ILU shows their shortcomings; they're object-oriented tools to make programs cooperate. You still have to write programs, and not classes. Well, I'm tired of writing programs - excuse me sir, I want to write classes. I don't want a tool for cooperation between programs, but a tool for cooperation between persistant objects.
Actually, few people have realized it, but object-oriented databases come far closer to a true, full object-oriented environment than CORBA or ILU. Herectic am I? I would be honoured to be called so :-) people much better than me have. Most of them were not afraid to defenestrate dusty concepts and introduce new ones. I'm a little more of a coward; I'm not introducing a new concept, I'm just trying to explore an old one (OOP) to its full potential.
On the other hand, now I got addicted to my GNU/Linux system and I want to do it "the Unix way" - I want to be able to modify stuff by modifying files by hand, or by moving files around etc. I want to be able to clone an object with "cp" and send it to a friend attached in a MIME mail message. I grew used to knowing which file has what, and I want an object environment where I can keep working this way.
Finally, once the system is working, I don't want to wait for it to reimplement everything from malloc to the X window system before I can use it. And I sure don't want to throw away the zillions lines of working code running around. This ideal system would have to have "hooks" where I could plug compatibility with any existing piece of software. One of the early examples is the hability of writing an "audio-cd" class using the excellent "cdtool" package (cdplay, cdstop, cdpause...) as methods. Alas, instant object-oriented functionality.
These are the major reasons I'm working in Ox, and are the explanations for some of the design decisions. However, these don't say everything about Ox yet; there's another, very important factor:
I'm in the Free Software community (also referred to as Open Source Software).
The Free Software community has its own way of doing things. We do things to share; sharing is an important part of it. We are opposed to binary-only software (because we want to be able to know how something works, and fix it if it doesn't work right), to interface copyrights, API copyrights, and above all, we absolutely despise NDAs (Non-Disclosure Agreements - contracts where you will gain knowledge of something but you must promise not to tell anyone else, essentially) when applied to software. The Free Software Community believes that software has to be shared to achieve its full potential.
The idea of "open development", more formally known as "bazzar-style" development, is another important concept that was born in the Free Software community. It's about writing the code in the open, making development versions frequently available, so that people can read it, fix it, and even help write it - actually, it's about inviting people to do that. Ox doesn't do anything useful, but it has two mailing lists set up so that anyone who wants to participate may join as soon as desired.
StatusThe Ox project was born about two years ago. In this period, it died twice already. In my opinion this happened because I did everything wrong in the point of view of "The Cathedral and the Bazaar" paper. I wanted to first have a good spec, then start coding. Now I want to build the two things together, so that one helps the other - the coders find a missing feature, suggest it to the specwriters, and so on. Also, with no coding going on the interest vanished quickly.
The second time I concentrated in writing a spec alone. This was even worse.
This is the third try. I'm opening up the process and inviting you to participate - either in specbuilding, coding, or both. I would have given up on Ox entirely, but in a partially-related mail RMS said he thinks Ox is a very good idea.
The result of this talk with RMS is that the Ox project is now a GNU project. Don't know if many people care, but I do, a lot. It makes me really proud to stamp in the webpages "Ox: the GNU next generation object model".
ContactPlease by all means give it a try. Help coding, help building the spec. IMHO Ox can give a fantastic advantage to the Free Software world. Draw the icons that are missing in the webpage. If you have a place for hosting lists that you think is better than makelist contact me. Or a ftp site, CVS repository... whatever. But anyway, visit the webpage and see what you think. And if this article isn't enought for an opinion, you may jump straight to the what is Ox page (this article is based on it).
Thanks,
LaloCopyright © 1998 Lalo Martins lalo@webcom.com http://www.webcom.com/lalo
For information on permissions to reproduce this document, consult the pertaining section in the Ox website.
Any mention to products, trademarks or copyright material of third parties does not constitute any challenge to these rights.
-
Feature:Introducing Ox
Well, maybe it isn't actually an introduction for everyone, but for a lot of us, Lalo Martins has written a nice article to reacquant ourselves with Ox, an Object Model for computers. Check it out if you're interested in learning about it. The following was written by Slashdot reader Lalo Martins. The Ox projectShortly, Ox is a complete full object model, meaning it wishes to make possible to access anything you expect from a computer in an object-oriented interface. An object-oriented interface means everything you could want to access is an object and, as such, has a class, and benefits from inheritance and polymorphism.
To use my favourite example, in Ox you won't write a "word processor" application; instead you will write a "word-processing-document" class, and objects of this class (documents) would contain all information they need to edit and print themselves, and all other functions you would expect from a word processor, plus others that are made possible by a pure object-oriented environment.
Hovever, Ox does not want to trash all existing software; one of its minor goals is to have hooks to make possible compatibility with anything - and no, I'm not exagerating, the idea is being able to using anything from grep to perl to self (a programing language) to PNG images to old MSX games.
ContextThere are many object models. There are many good object-oriented programming languages. There are many object-oriented databases. There are even many good object-oriented tools to make programs cooperate - such as CORBA and ILU. But they are not object-oriented environments.
The very phrase I used to describe CORBA and ILU shows their shortcomings; they're object-oriented tools to make programs cooperate. You still have to write programs, and not classes. Well, I'm tired of writing programs - excuse me sir, I want to write classes. I don't want a tool for cooperation between programs, but a tool for cooperation between persistant objects.
Actually, few people have realized it, but object-oriented databases come far closer to a true, full object-oriented environment than CORBA or ILU. Herectic am I? I would be honoured to be called so :-) people much better than me have. Most of them were not afraid to defenestrate dusty concepts and introduce new ones. I'm a little more of a coward; I'm not introducing a new concept, I'm just trying to explore an old one (OOP) to its full potential.
On the other hand, now I got addicted to my GNU/Linux system and I want to do it "the Unix way" - I want to be able to modify stuff by modifying files by hand, or by moving files around etc. I want to be able to clone an object with "cp" and send it to a friend attached in a MIME mail message. I grew used to knowing which file has what, and I want an object environment where I can keep working this way.
Finally, once the system is working, I don't want to wait for it to reimplement everything from malloc to the X window system before I can use it. And I sure don't want to throw away the zillions lines of working code running around. This ideal system would have to have "hooks" where I could plug compatibility with any existing piece of software. One of the early examples is the hability of writing an "audio-cd" class using the excellent "cdtool" package (cdplay, cdstop, cdpause...) as methods. Alas, instant object-oriented functionality.
These are the major reasons I'm working in Ox, and are the explanations for some of the design decisions. However, these don't say everything about Ox yet; there's another, very important factor:
I'm in the Free Software community (also referred to as Open Source Software).
The Free Software community has its own way of doing things. We do things to share; sharing is an important part of it. We are opposed to binary-only software (because we want to be able to know how something works, and fix it if it doesn't work right), to interface copyrights, API copyrights, and above all, we absolutely despise NDAs (Non-Disclosure Agreements - contracts where you will gain knowledge of something but you must promise not to tell anyone else, essentially) when applied to software. The Free Software Community believes that software has to be shared to achieve its full potential.
The idea of "open development", more formally known as "bazzar-style" development, is another important concept that was born in the Free Software community. It's about writing the code in the open, making development versions frequently available, so that people can read it, fix it, and even help write it - actually, it's about inviting people to do that. Ox doesn't do anything useful, but it has two mailing lists set up so that anyone who wants to participate may join as soon as desired.
StatusThe Ox project was born about two years ago. In this period, it died twice already. In my opinion this happened because I did everything wrong in the point of view of "The Cathedral and the Bazaar" paper. I wanted to first have a good spec, then start coding. Now I want to build the two things together, so that one helps the other - the coders find a missing feature, suggest it to the specwriters, and so on. Also, with no coding going on the interest vanished quickly.
The second time I concentrated in writing a spec alone. This was even worse.
This is the third try. I'm opening up the process and inviting you to participate - either in specbuilding, coding, or both. I would have given up on Ox entirely, but in a partially-related mail RMS said he thinks Ox is a very good idea.
The result of this talk with RMS is that the Ox project is now a GNU project. Don't know if many people care, but I do, a lot. It makes me really proud to stamp in the webpages "Ox: the GNU next generation object model".
ContactPlease by all means give it a try. Help coding, help building the spec. IMHO Ox can give a fantastic advantage to the Free Software world. Draw the icons that are missing in the webpage. If you have a place for hosting lists that you think is better than makelist contact me. Or a ftp site, CVS repository... whatever. But anyway, visit the webpage and see what you think. And if this article isn't enought for an opinion, you may jump straight to the what is Ox page (this article is based on it).
Thanks,
LaloCopyright © 1998 Lalo Martins lalo@webcom.com http://www.webcom.com/lalo
For information on permissions to reproduce this document, consult the pertaining section in the Ox website.
Any mention to products, trademarks or copyright material of third parties does not constitute any challenge to these rights.
-
Feature:Introducing Ox
Well, maybe it isn't actually an introduction for everyone, but for a lot of us, Lalo Martins has written a nice article to reacquant ourselves with Ox, an Object Model for computers. Check it out if you're interested in learning about it. The following was written by Slashdot reader Lalo Martins. The Ox projectShortly, Ox is a complete full object model, meaning it wishes to make possible to access anything you expect from a computer in an object-oriented interface. An object-oriented interface means everything you could want to access is an object and, as such, has a class, and benefits from inheritance and polymorphism.
To use my favourite example, in Ox you won't write a "word processor" application; instead you will write a "word-processing-document" class, and objects of this class (documents) would contain all information they need to edit and print themselves, and all other functions you would expect from a word processor, plus others that are made possible by a pure object-oriented environment.
Hovever, Ox does not want to trash all existing software; one of its minor goals is to have hooks to make possible compatibility with anything - and no, I'm not exagerating, the idea is being able to using anything from grep to perl to self (a programing language) to PNG images to old MSX games.
ContextThere are many object models. There are many good object-oriented programming languages. There are many object-oriented databases. There are even many good object-oriented tools to make programs cooperate - such as CORBA and ILU. But they are not object-oriented environments.
The very phrase I used to describe CORBA and ILU shows their shortcomings; they're object-oriented tools to make programs cooperate. You still have to write programs, and not classes. Well, I'm tired of writing programs - excuse me sir, I want to write classes. I don't want a tool for cooperation between programs, but a tool for cooperation between persistant objects.
Actually, few people have realized it, but object-oriented databases come far closer to a true, full object-oriented environment than CORBA or ILU. Herectic am I? I would be honoured to be called so :-) people much better than me have. Most of them were not afraid to defenestrate dusty concepts and introduce new ones. I'm a little more of a coward; I'm not introducing a new concept, I'm just trying to explore an old one (OOP) to its full potential.
On the other hand, now I got addicted to my GNU/Linux system and I want to do it "the Unix way" - I want to be able to modify stuff by modifying files by hand, or by moving files around etc. I want to be able to clone an object with "cp" and send it to a friend attached in a MIME mail message. I grew used to knowing which file has what, and I want an object environment where I can keep working this way.
Finally, once the system is working, I don't want to wait for it to reimplement everything from malloc to the X window system before I can use it. And I sure don't want to throw away the zillions lines of working code running around. This ideal system would have to have "hooks" where I could plug compatibility with any existing piece of software. One of the early examples is the hability of writing an "audio-cd" class using the excellent "cdtool" package (cdplay, cdstop, cdpause...) as methods. Alas, instant object-oriented functionality.
These are the major reasons I'm working in Ox, and are the explanations for some of the design decisions. However, these don't say everything about Ox yet; there's another, very important factor:
I'm in the Free Software community (also referred to as Open Source Software).
The Free Software community has its own way of doing things. We do things to share; sharing is an important part of it. We are opposed to binary-only software (because we want to be able to know how something works, and fix it if it doesn't work right), to interface copyrights, API copyrights, and above all, we absolutely despise NDAs (Non-Disclosure Agreements - contracts where you will gain knowledge of something but you must promise not to tell anyone else, essentially) when applied to software. The Free Software Community believes that software has to be shared to achieve its full potential.
The idea of "open development", more formally known as "bazzar-style" development, is another important concept that was born in the Free Software community. It's about writing the code in the open, making development versions frequently available, so that people can read it, fix it, and even help write it - actually, it's about inviting people to do that. Ox doesn't do anything useful, but it has two mailing lists set up so that anyone who wants to participate may join as soon as desired.
StatusThe Ox project was born about two years ago. In this period, it died twice already. In my opinion this happened because I did everything wrong in the point of view of "The Cathedral and the Bazaar" paper. I wanted to first have a good spec, then start coding. Now I want to build the two things together, so that one helps the other - the coders find a missing feature, suggest it to the specwriters, and so on. Also, with no coding going on the interest vanished quickly.
The second time I concentrated in writing a spec alone. This was even worse.
This is the third try. I'm opening up the process and inviting you to participate - either in specbuilding, coding, or both. I would have given up on Ox entirely, but in a partially-related mail RMS said he thinks Ox is a very good idea.
The result of this talk with RMS is that the Ox project is now a GNU project. Don't know if many people care, but I do, a lot. It makes me really proud to stamp in the webpages "Ox: the GNU next generation object model".
ContactPlease by all means give it a try. Help coding, help building the spec. IMHO Ox can give a fantastic advantage to the Free Software world. Draw the icons that are missing in the webpage. If you have a place for hosting lists that you think is better than makelist contact me. Or a ftp site, CVS repository... whatever. But anyway, visit the webpage and see what you think. And if this article isn't enought for an opinion, you may jump straight to the what is Ox page (this article is based on it).
Thanks,
LaloCopyright © 1998 Lalo Martins lalo@webcom.com http://www.webcom.com/lalo
For information on permissions to reproduce this document, consult the pertaining section in the Ox website.
Any mention to products, trademarks or copyright material of third parties does not constitute any challenge to these rights.
-
Feature:Introducing Ox
Well, maybe it isn't actually an introduction for everyone, but for a lot of us, Lalo Martins has written a nice article to reacquant ourselves with Ox, an Object Model for computers. Check it out if you're interested in learning about it. The following was written by Slashdot reader Lalo Martins. The Ox projectShortly, Ox is a complete full object model, meaning it wishes to make possible to access anything you expect from a computer in an object-oriented interface. An object-oriented interface means everything you could want to access is an object and, as such, has a class, and benefits from inheritance and polymorphism.
To use my favourite example, in Ox you won't write a "word processor" application; instead you will write a "word-processing-document" class, and objects of this class (documents) would contain all information they need to edit and print themselves, and all other functions you would expect from a word processor, plus others that are made possible by a pure object-oriented environment.
Hovever, Ox does not want to trash all existing software; one of its minor goals is to have hooks to make possible compatibility with anything - and no, I'm not exagerating, the idea is being able to using anything from grep to perl to self (a programing language) to PNG images to old MSX games.
ContextThere are many object models. There are many good object-oriented programming languages. There are many object-oriented databases. There are even many good object-oriented tools to make programs cooperate - such as CORBA and ILU. But they are not object-oriented environments.
The very phrase I used to describe CORBA and ILU shows their shortcomings; they're object-oriented tools to make programs cooperate. You still have to write programs, and not classes. Well, I'm tired of writing programs - excuse me sir, I want to write classes. I don't want a tool for cooperation between programs, but a tool for cooperation between persistant objects.
Actually, few people have realized it, but object-oriented databases come far closer to a true, full object-oriented environment than CORBA or ILU. Herectic am I? I would be honoured to be called so :-) people much better than me have. Most of them were not afraid to defenestrate dusty concepts and introduce new ones. I'm a little more of a coward; I'm not introducing a new concept, I'm just trying to explore an old one (OOP) to its full potential.
On the other hand, now I got addicted to my GNU/Linux system and I want to do it "the Unix way" - I want to be able to modify stuff by modifying files by hand, or by moving files around etc. I want to be able to clone an object with "cp" and send it to a friend attached in a MIME mail message. I grew used to knowing which file has what, and I want an object environment where I can keep working this way.
Finally, once the system is working, I don't want to wait for it to reimplement everything from malloc to the X window system before I can use it. And I sure don't want to throw away the zillions lines of working code running around. This ideal system would have to have "hooks" where I could plug compatibility with any existing piece of software. One of the early examples is the hability of writing an "audio-cd" class using the excellent "cdtool" package (cdplay, cdstop, cdpause...) as methods. Alas, instant object-oriented functionality.
These are the major reasons I'm working in Ox, and are the explanations for some of the design decisions. However, these don't say everything about Ox yet; there's another, very important factor:
I'm in the Free Software community (also referred to as Open Source Software).
The Free Software community has its own way of doing things. We do things to share; sharing is an important part of it. We are opposed to binary-only software (because we want to be able to know how something works, and fix it if it doesn't work right), to interface copyrights, API copyrights, and above all, we absolutely despise NDAs (Non-Disclosure Agreements - contracts where you will gain knowledge of something but you must promise not to tell anyone else, essentially) when applied to software. The Free Software Community believes that software has to be shared to achieve its full potential.
The idea of "open development", more formally known as "bazzar-style" development, is another important concept that was born in the Free Software community. It's about writing the code in the open, making development versions frequently available, so that people can read it, fix it, and even help write it - actually, it's about inviting people to do that. Ox doesn't do anything useful, but it has two mailing lists set up so that anyone who wants to participate may join as soon as desired.
StatusThe Ox project was born about two years ago. In this period, it died twice already. In my opinion this happened because I did everything wrong in the point of view of "The Cathedral and the Bazaar" paper. I wanted to first have a good spec, then start coding. Now I want to build the two things together, so that one helps the other - the coders find a missing feature, suggest it to the specwriters, and so on. Also, with no coding going on the interest vanished quickly.
The second time I concentrated in writing a spec alone. This was even worse.
This is the third try. I'm opening up the process and inviting you to participate - either in specbuilding, coding, or both. I would have given up on Ox entirely, but in a partially-related mail RMS said he thinks Ox is a very good idea.
The result of this talk with RMS is that the Ox project is now a GNU project. Don't know if many people care, but I do, a lot. It makes me really proud to stamp in the webpages "Ox: the GNU next generation object model".
ContactPlease by all means give it a try. Help coding, help building the spec. IMHO Ox can give a fantastic advantage to the Free Software world. Draw the icons that are missing in the webpage. If you have a place for hosting lists that you think is better than makelist contact me. Or a ftp site, CVS repository... whatever. But anyway, visit the webpage and see what you think. And if this article isn't enought for an opinion, you may jump straight to the what is Ox page (this article is based on it).
Thanks,
LaloCopyright © 1998 Lalo Martins lalo@webcom.com http://www.webcom.com/lalo
For information on permissions to reproduce this document, consult the pertaining section in the Ox website.
Any mention to products, trademarks or copyright material of third parties does not constitute any challenge to these rights.
-
Feature:Introducing Ox
Well, maybe it isn't actually an introduction for everyone, but for a lot of us, Lalo Martins has written a nice article to reacquant ourselves with Ox, an Object Model for computers. Check it out if you're interested in learning about it. The following was written by Slashdot reader Lalo Martins. The Ox projectShortly, Ox is a complete full object model, meaning it wishes to make possible to access anything you expect from a computer in an object-oriented interface. An object-oriented interface means everything you could want to access is an object and, as such, has a class, and benefits from inheritance and polymorphism.
To use my favourite example, in Ox you won't write a "word processor" application; instead you will write a "word-processing-document" class, and objects of this class (documents) would contain all information they need to edit and print themselves, and all other functions you would expect from a word processor, plus others that are made possible by a pure object-oriented environment.
Hovever, Ox does not want to trash all existing software; one of its minor goals is to have hooks to make possible compatibility with anything - and no, I'm not exagerating, the idea is being able to using anything from grep to perl to self (a programing language) to PNG images to old MSX games.
ContextThere are many object models. There are many good object-oriented programming languages. There are many object-oriented databases. There are even many good object-oriented tools to make programs cooperate - such as CORBA and ILU. But they are not object-oriented environments.
The very phrase I used to describe CORBA and ILU shows their shortcomings; they're object-oriented tools to make programs cooperate. You still have to write programs, and not classes. Well, I'm tired of writing programs - excuse me sir, I want to write classes. I don't want a tool for cooperation between programs, but a tool for cooperation between persistant objects.
Actually, few people have realized it, but object-oriented databases come far closer to a true, full object-oriented environment than CORBA or ILU. Herectic am I? I would be honoured to be called so :-) people much better than me have. Most of them were not afraid to defenestrate dusty concepts and introduce new ones. I'm a little more of a coward; I'm not introducing a new concept, I'm just trying to explore an old one (OOP) to its full potential.
On the other hand, now I got addicted to my GNU/Linux system and I want to do it "the Unix way" - I want to be able to modify stuff by modifying files by hand, or by moving files around etc. I want to be able to clone an object with "cp" and send it to a friend attached in a MIME mail message. I grew used to knowing which file has what, and I want an object environment where I can keep working this way.
Finally, once the system is working, I don't want to wait for it to reimplement everything from malloc to the X window system before I can use it. And I sure don't want to throw away the zillions lines of working code running around. This ideal system would have to have "hooks" where I could plug compatibility with any existing piece of software. One of the early examples is the hability of writing an "audio-cd" class using the excellent "cdtool" package (cdplay, cdstop, cdpause...) as methods. Alas, instant object-oriented functionality.
These are the major reasons I'm working in Ox, and are the explanations for some of the design decisions. However, these don't say everything about Ox yet; there's another, very important factor:
I'm in the Free Software community (also referred to as Open Source Software).
The Free Software community has its own way of doing things. We do things to share; sharing is an important part of it. We are opposed to binary-only software (because we want to be able to know how something works, and fix it if it doesn't work right), to interface copyrights, API copyrights, and above all, we absolutely despise NDAs (Non-Disclosure Agreements - contracts where you will gain knowledge of something but you must promise not to tell anyone else, essentially) when applied to software. The Free Software Community believes that software has to be shared to achieve its full potential.
The idea of "open development", more formally known as "bazzar-style" development, is another important concept that was born in the Free Software community. It's about writing the code in the open, making development versions frequently available, so that people can read it, fix it, and even help write it - actually, it's about inviting people to do that. Ox doesn't do anything useful, but it has two mailing lists set up so that anyone who wants to participate may join as soon as desired.
StatusThe Ox project was born about two years ago. In this period, it died twice already. In my opinion this happened because I did everything wrong in the point of view of "The Cathedral and the Bazaar" paper. I wanted to first have a good spec, then start coding. Now I want to build the two things together, so that one helps the other - the coders find a missing feature, suggest it to the specwriters, and so on. Also, with no coding going on the interest vanished quickly.
The second time I concentrated in writing a spec alone. This was even worse.
This is the third try. I'm opening up the process and inviting you to participate - either in specbuilding, coding, or both. I would have given up on Ox entirely, but in a partially-related mail RMS said he thinks Ox is a very good idea.
The result of this talk with RMS is that the Ox project is now a GNU project. Don't know if many people care, but I do, a lot. It makes me really proud to stamp in the webpages "Ox: the GNU next generation object model".
ContactPlease by all means give it a try. Help coding, help building the spec. IMHO Ox can give a fantastic advantage to the Free Software world. Draw the icons that are missing in the webpage. If you have a place for hosting lists that you think is better than makelist contact me. Or a ftp site, CVS repository... whatever. But anyway, visit the webpage and see what you think. And if this article isn't enought for an opinion, you may jump straight to the what is Ox page (this article is based on it).
Thanks,
LaloCopyright © 1998 Lalo Martins lalo@webcom.com http://www.webcom.com/lalo
For information on permissions to reproduce this document, consult the pertaining section in the Ox website.
Any mention to products, trademarks or copyright material of third parties does not constitute any challenge to these rights.
-
Feature:Introducing Ox
Well, maybe it isn't actually an introduction for everyone, but for a lot of us, Lalo Martins has written a nice article to reacquant ourselves with Ox, an Object Model for computers. Check it out if you're interested in learning about it. The following was written by Slashdot reader Lalo Martins. The Ox projectShortly, Ox is a complete full object model, meaning it wishes to make possible to access anything you expect from a computer in an object-oriented interface. An object-oriented interface means everything you could want to access is an object and, as such, has a class, and benefits from inheritance and polymorphism.
To use my favourite example, in Ox you won't write a "word processor" application; instead you will write a "word-processing-document" class, and objects of this class (documents) would contain all information they need to edit and print themselves, and all other functions you would expect from a word processor, plus others that are made possible by a pure object-oriented environment.
Hovever, Ox does not want to trash all existing software; one of its minor goals is to have hooks to make possible compatibility with anything - and no, I'm not exagerating, the idea is being able to using anything from grep to perl to self (a programing language) to PNG images to old MSX games.
ContextThere are many object models. There are many good object-oriented programming languages. There are many object-oriented databases. There are even many good object-oriented tools to make programs cooperate - such as CORBA and ILU. But they are not object-oriented environments.
The very phrase I used to describe CORBA and ILU shows their shortcomings; they're object-oriented tools to make programs cooperate. You still have to write programs, and not classes. Well, I'm tired of writing programs - excuse me sir, I want to write classes. I don't want a tool for cooperation between programs, but a tool for cooperation between persistant objects.
Actually, few people have realized it, but object-oriented databases come far closer to a true, full object-oriented environment than CORBA or ILU. Herectic am I? I would be honoured to be called so :-) people much better than me have. Most of them were not afraid to defenestrate dusty concepts and introduce new ones. I'm a little more of a coward; I'm not introducing a new concept, I'm just trying to explore an old one (OOP) to its full potential.
On the other hand, now I got addicted to my GNU/Linux system and I want to do it "the Unix way" - I want to be able to modify stuff by modifying files by hand, or by moving files around etc. I want to be able to clone an object with "cp" and send it to a friend attached in a MIME mail message. I grew used to knowing which file has what, and I want an object environment where I can keep working this way.
Finally, once the system is working, I don't want to wait for it to reimplement everything from malloc to the X window system before I can use it. And I sure don't want to throw away the zillions lines of working code running around. This ideal system would have to have "hooks" where I could plug compatibility with any existing piece of software. One of the early examples is the hability of writing an "audio-cd" class using the excellent "cdtool" package (cdplay, cdstop, cdpause...) as methods. Alas, instant object-oriented functionality.
These are the major reasons I'm working in Ox, and are the explanations for some of the design decisions. However, these don't say everything about Ox yet; there's another, very important factor:
I'm in the Free Software community (also referred to as Open Source Software).
The Free Software community has its own way of doing things. We do things to share; sharing is an important part of it. We are opposed to binary-only software (because we want to be able to know how something works, and fix it if it doesn't work right), to interface copyrights, API copyrights, and above all, we absolutely despise NDAs (Non-Disclosure Agreements - contracts where you will gain knowledge of something but you must promise not to tell anyone else, essentially) when applied to software. The Free Software Community believes that software has to be shared to achieve its full potential.
The idea of "open development", more formally known as "bazzar-style" development, is another important concept that was born in the Free Software community. It's about writing the code in the open, making development versions frequently available, so that people can read it, fix it, and even help write it - actually, it's about inviting people to do that. Ox doesn't do anything useful, but it has two mailing lists set up so that anyone who wants to participate may join as soon as desired.
StatusThe Ox project was born about two years ago. In this period, it died twice already. In my opinion this happened because I did everything wrong in the point of view of "The Cathedral and the Bazaar" paper. I wanted to first have a good spec, then start coding. Now I want to build the two things together, so that one helps the other - the coders find a missing feature, suggest it to the specwriters, and so on. Also, with no coding going on the interest vanished quickly.
The second time I concentrated in writing a spec alone. This was even worse.
This is the third try. I'm opening up the process and inviting you to participate - either in specbuilding, coding, or both. I would have given up on Ox entirely, but in a partially-related mail RMS said he thinks Ox is a very good idea.
The result of this talk with RMS is that the Ox project is now a GNU project. Don't know if many people care, but I do, a lot. It makes me really proud to stamp in the webpages "Ox: the GNU next generation object model".
ContactPlease by all means give it a try. Help coding, help building the spec. IMHO Ox can give a fantastic advantage to the Free Software world. Draw the icons that are missing in the webpage. If you have a place for hosting lists that you think is better than makelist contact me. Or a ftp site, CVS repository... whatever. But anyway, visit the webpage and see what you think. And if this article isn't enought for an opinion, you may jump straight to the what is Ox page (this article is based on it).
Thanks,
LaloCopyright © 1998 Lalo Martins lalo@webcom.com http://www.webcom.com/lalo
For information on permissions to reproduce this document, consult the pertaining section in the Ox website.
Any mention to products, trademarks or copyright material of third parties does not constitute any challenge to these rights.
-
Feature:Introducing Ox
Well, maybe it isn't actually an introduction for everyone, but for a lot of us, Lalo Martins has written a nice article to reacquant ourselves with Ox, an Object Model for computers. Check it out if you're interested in learning about it. The following was written by Slashdot reader Lalo Martins. The Ox projectShortly, Ox is a complete full object model, meaning it wishes to make possible to access anything you expect from a computer in an object-oriented interface. An object-oriented interface means everything you could want to access is an object and, as such, has a class, and benefits from inheritance and polymorphism.
To use my favourite example, in Ox you won't write a "word processor" application; instead you will write a "word-processing-document" class, and objects of this class (documents) would contain all information they need to edit and print themselves, and all other functions you would expect from a word processor, plus others that are made possible by a pure object-oriented environment.
Hovever, Ox does not want to trash all existing software; one of its minor goals is to have hooks to make possible compatibility with anything - and no, I'm not exagerating, the idea is being able to using anything from grep to perl to self (a programing language) to PNG images to old MSX games.
ContextThere are many object models. There are many good object-oriented programming languages. There are many object-oriented databases. There are even many good object-oriented tools to make programs cooperate - such as CORBA and ILU. But they are not object-oriented environments.
The very phrase I used to describe CORBA and ILU shows their shortcomings; they're object-oriented tools to make programs cooperate. You still have to write programs, and not classes. Well, I'm tired of writing programs - excuse me sir, I want to write classes. I don't want a tool for cooperation between programs, but a tool for cooperation between persistant objects.
Actually, few people have realized it, but object-oriented databases come far closer to a true, full object-oriented environment than CORBA or ILU. Herectic am I? I would be honoured to be called so :-) people much better than me have. Most of them were not afraid to defenestrate dusty concepts and introduce new ones. I'm a little more of a coward; I'm not introducing a new concept, I'm just trying to explore an old one (OOP) to its full potential.
On the other hand, now I got addicted to my GNU/Linux system and I want to do it "the Unix way" - I want to be able to modify stuff by modifying files by hand, or by moving files around etc. I want to be able to clone an object with "cp" and send it to a friend attached in a MIME mail message. I grew used to knowing which file has what, and I want an object environment where I can keep working this way.
Finally, once the system is working, I don't want to wait for it to reimplement everything from malloc to the X window system before I can use it. And I sure don't want to throw away the zillions lines of working code running around. This ideal system would have to have "hooks" where I could plug compatibility with any existing piece of software. One of the early examples is the hability of writing an "audio-cd" class using the excellent "cdtool" package (cdplay, cdstop, cdpause...) as methods. Alas, instant object-oriented functionality.
These are the major reasons I'm working in Ox, and are the explanations for some of the design decisions. However, these don't say everything about Ox yet; there's another, very important factor:
I'm in the Free Software community (also referred to as Open Source Software).
The Free Software community has its own way of doing things. We do things to share; sharing is an important part of it. We are opposed to binary-only software (because we want to be able to know how something works, and fix it if it doesn't work right), to interface copyrights, API copyrights, and above all, we absolutely despise NDAs (Non-Disclosure Agreements - contracts where you will gain knowledge of something but you must promise not to tell anyone else, essentially) when applied to software. The Free Software Community believes that software has to be shared to achieve its full potential.
The idea of "open development", more formally known as "bazzar-style" development, is another important concept that was born in the Free Software community. It's about writing the code in the open, making development versions frequently available, so that people can read it, fix it, and even help write it - actually, it's about inviting people to do that. Ox doesn't do anything useful, but it has two mailing lists set up so that anyone who wants to participate may join as soon as desired.
StatusThe Ox project was born about two years ago. In this period, it died twice already. In my opinion this happened because I did everything wrong in the point of view of "The Cathedral and the Bazaar" paper. I wanted to first have a good spec, then start coding. Now I want to build the two things together, so that one helps the other - the coders find a missing feature, suggest it to the specwriters, and so on. Also, with no coding going on the interest vanished quickly.
The second time I concentrated in writing a spec alone. This was even worse.
This is the third try. I'm opening up the process and inviting you to participate - either in specbuilding, coding, or both. I would have given up on Ox entirely, but in a partially-related mail RMS said he thinks Ox is a very good idea.
The result of this talk with RMS is that the Ox project is now a GNU project. Don't know if many people care, but I do, a lot. It makes me really proud to stamp in the webpages "Ox: the GNU next generation object model".
ContactPlease by all means give it a try. Help coding, help building the spec. IMHO Ox can give a fantastic advantage to the Free Software world. Draw the icons that are missing in the webpage. If you have a place for hosting lists that you think is better than makelist contact me. Or a ftp site, CVS repository... whatever. But anyway, visit the webpage and see what you think. And if this article isn't enought for an opinion, you may jump straight to the what is Ox page (this article is based on it).
Thanks,
LaloCopyright © 1998 Lalo Martins lalo@webcom.com http://www.webcom.com/lalo
For information on permissions to reproduce this document, consult the pertaining section in the Ox website.
Any mention to products, trademarks or copyright material of third parties does not constitute any challenge to these rights.