Do we need standards?

All off topic discussions go here. Everything from the funny thing your cat did to your favorite tv shows. Non-programming computer questions are ok too.
Post Reply
jvff
Member
Member
Posts: 46
Joined: Sun Oct 24, 2004 11:00 pm

Do we need standards?

Post by jvff »

Standards seem beautiful. They offer guarantee of cooperation between standarized services. However I just read something interesting. Following a link from OSNews about an interview with LinuxBIOS' creator, http://fosdem.org/2007/interview/ronald+g+minnich, there is a question regarding OLPC, which there is a piece of info that stuns me (not about it's context, but rather the concept and it's application to the software world). "Because the system is open, OLPC can avoid using "standards" such as ACPI, which mainly exist to protect closed interfaces".

Now, what's intriguing is how this becomes a metaphor of OSS. Linux depandancy hell, multitude of open source code on the net, mostly incompatible, and lot's of code rewritting.

This strikes me at the same time I start to think that maybe bad is better. Examples are spread over the net in forums, rants, essays, etc. They mostly critique we are still using Unix (which obviously is old), X windows (which IMHO seems bloated with features few people use), x86 (and CISC in general) as bad designed ISA, etc.

At the same time we live in bloated code world, projects that try to address them often fail (COM as a possible example). I also read recently there was a wiki attempt at writting a novel, which seems to have failed (or was failing because of inconsistency).

But if the world is better without standards, why does it feel like we're playing lego with pebbles? It does seem wonderful that (for example) when we want a to use a network interface, we have a pool of libraries that abstract that for you with different performance, features and usability characteristics. What happens is mostly few of these libraries reach popularity and become somewhat standard. This is how it works in OSS world. We have Apache (standard web server), SQL (standard database), Linux (standard OS, after obviously Windows, but netherless I think BSDs have Linux compatibility layers...), X windows (standard graphics in Linux), etc.

What bothers me in the libraries example is that they basicly do the same thing. It's rewritten code. Wheel reinvention. Obviously they implement different features, in different ways, but it's the same basic thing. Couldn't they at least have a default interface so the USER (not the coder) could choose what implementaion he wants to use? (For example, he could choose between the safer and the faster).

Obviously different libraries expose different features. But shouldn't there always be the same features exposed? It is the same thing. Why hide something? Maybe hide it for useability, maintainablity, safety, whatever. But if there are stuff that aren't implemented, the user should choose to trap them (ie. it would be insecure) or simply redirect to another implementation which features such hidden feature from the standard implementation.

Web 2.0 seems to be gaining popularity. Why? Because it's simple for the user to use. It's not a standard by itself, but rather "common sense of the user". We have adapted to see the info on the net and use them. It's not like every new website (that gains popularity) is a revolution in web design. In general they have an advantage: they are formatted. It's a standard for our eyes and how we process information.

However it's a mess for a software to process that info. Programs could take advantage of the huge data base of information the net is. For example we could write a plugin to an email client that processes webmail sites and gathers your email to a local storage. However it's pratically impossible to decode AJAX, Flash animation, (D|X)HTML formatting to extract that info.

The point is, implementations vary, interfaces are what could be standarized. It's the end result that matters. And in this case it's the interface. However there are different tastes, different coding styles etc. Would standard interfaces break freedom? Is it the killer of the wierd art of diverse code OSS has become?

Would it be useful to have one project to rule them all? Have a central repository of interfaces? Community enhanced of course. But it seems there will be the need for killing some freedom on the way, for reasons similiar to why Wikipedia is having a new competitor that has it's info checked by editors and experts.

Sorry for long post. And rants. And bad english. Reminding this is an exageration of a personal view. Thanks for reading. If possible please post your thoughts.

JVFF

PS: Late night posting = bad idea...
User avatar
Solar
Member
Member
Posts: 7615
Joined: Thu Nov 16, 2006 12:01 pm
Location: Germany
Contact:

Re: Do we need standards?

Post by Solar »

jvff wrote:"Because the system is open, OLPC can avoid using "standards" such as ACPI, which mainly exist to protect closed interfaces".
OLPC is another standard, just different. ;)
Web 2.0 seems to be gaining popularity. Why?
Media hype. I still use the same WWW, no upgrade here. "Web 2.0" is simply a buzzword for websites that aren't as static as they used to be. Now they are hyping "Web 3.0" for websites that are even less static, but hey, after all I'm looking for developer feedback and specs data, and I got that from Usenet already... (what was that, Web 0.1?)
Would it be useful to have one project to rule them all?
Same answer as to "would it be useful to write one community OS instead of individual ones": Nope. The best standards are those that arise after diversity has been tried (e.g., C, C++), because they only get better over time. The other side are "standards" that came from individual bodies without much previous experience (Java), which tend to get fuzzy over time. (Look out for .NET 4.0...)
Every good solution is obvious once you've found it.
User avatar
Brendan
Member
Member
Posts: 8561
Joined: Sat Jan 15, 2005 12:00 am
Location: At his keyboard!
Contact:

Re: Do we need standards?

Post by Brendan »

Hi,
Solar wrote:OLPC is another standard, just different. ;)
I think that is both the problem and the solution - so many different standards that you need to create a new standard to get anything worthwhile done... ;-)


Cheers,

Brendan
For all things; perfection is, and will always remain, impossible to achieve in practice. However; by striving for perfection we create things that are as perfect as practically possible. Let the pursuit of perfection be our guide.
jvff
Member
Member
Posts: 46
Joined: Sun Oct 24, 2004 11:00 pm

Post by jvff »

Exactly. OLPC may be a "standard", but it breaks all other standards. Solution: create more standards?

The thing about Java and .NET (IMHO) is that they aren't community driven (at least not as much as it should be) and possibly their implementation speed. Other than that, Java and .NET are a success story. What I personally think is missing from them is a way to incorporate user projects/classes/extensions into it in a standarized (ie. official way). 3rd party classes often break standards (ie. they are 3rd party), and fall back to the metaphor on the initial post.

JVFF
User avatar
bubach
Member
Member
Posts: 1223
Joined: Sat Oct 23, 2004 11:00 pm
Location: Sweden
Contact:

Post by bubach »

try "web 2.0" without javascript enabled and it's more like web 0.1 beta. :lol:
"Simplicity is the ultimate sophistication."
http://bos.asmhackers.net/ - GitHub
Post Reply