navaru
Posts: 8
Joined: Wed Sep 21, 2011 12:03 pm

Re: We need Standards!

Sat Nov 19, 2011 1:46 am

This project is new, and to ensure that we don't mess up too bad from the beginning, cause we'll eventually do, in some cases (writing a lot of bugs), we (as a community) should create some standards.

As a start we all need to find our *list of needs*, the building blocks, and come up with a list of standards on how to write a package and a package manager so we could easily find what we need written by others -- in order not to reinvent the hot water every time.

There is a pattern with humans, they find something new, they play with it, make something interesting and stop -- this is the case where someone writes a very good library with bad documentation and doesn't support it anymore, so you'll find yourself using it for a while and then ... 'oh crap, new Raspberry Pi updateds, and no library support...", and what do you do? "#include <frustration_mode>"

Also we need a style guide how to write code so we could all read it, and how to write a good read.me (documentation) <-- a must

Please feel free to post your opinion, if you don't have one, search google.

obarthelemy
Posts: 1399
Joined: Tue Aug 09, 2011 10:53 pm

Re: We need Standards!

Sat Nov 19, 2011 1:54 am

I'm not sure we need standards as much as we need documentation, and then support.
And I'm especially sure we do *not* need yet another packaging system ^^
Obligatory:

Bacan
Posts: 347
Joined: Sun Sep 25, 2011 10:03 pm

Re: We need Standards!

Sat Nov 19, 2011 2:17 am

Quote from obarthelemy on November 19, 2011, 01:54
I'm not sure we need standards as much as we need documentation, and then support.

+1

User avatar
cnxsoft
Posts: 191
Joined: Sat Oct 15, 2011 2:33 pm
Location: Chiang Mai, Thailand
Contact: Website

Re: We need Standards!

Sat Nov 19, 2011 2:35 am

What should be beneficial is a standard distribution and development tools that most people use with proper documentation and support. Raspberry Pi could say they only officially support that distro, for example Fedora since Redhat is apparently optimizing it for the Raspberry Pi.

Since the platform is open, developers can do their own thing and that should be encouraged. But if there are too many choices, beginners (the target audience of this project) may be confused with the amount of options and documentation all over the place.

navaru
Posts: 8
Joined: Wed Sep 21, 2011 12:03 pm

Re: We need Standards!

Sat Nov 19, 2011 9:28 am

Good, so everyone agrees!

@obarthelemy: you are so right, we don't need a *new* packaging system, we should all agree on which one to use, great support comes from the community also, that's why I wish we could agree on how to write good docs, cause we all know some parts of the puzzle and could help others figure out the patterns; also we should agree where to keep the docs, I really hate it when everyone writes a post on their blog about *some* interesting feature and yeah, good luck finding it. I had this experience over and over with Node.js which is also a fairly new project (2 and half years), until someone came up with docs.nodejitsu.com (community driven docs) apart of the official docs found on nodejs.org
@Bacan: ... so you won't feel neglected
@cnxsoft: you've made it more clear than I could

I suggest we open a twitter account RaspberryPiDocs, and when someone finds good materials in the wild could share it, so we all could benefit.

So, who's with me on using Git and GitHub?!

jamesh
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 23682
Joined: Sat Jul 30, 2011 7:41 pm

Re: We need Standards!

Sat Nov 19, 2011 10:28 am

Nope, nobody agrees. That's the problem. For example, if I prompted my coding standards, the rest of the Linux C people would get snarky (I insist on vertically lined up curly braces, anything else is insane. I'm talking to you K&R).

Packaging system will be down the the distro you are using - we ain't responsible for that. I've been using apt-get form the Debian archive with no problem. Other people probably hate it. Distro provide with the board will probably be Debian as that's the one we are using at Broadcom. That could still change!

Most people don't write documentation. They should but they don't. And in fact most people who write documentation are really not very good at it, so you can write as many design guides as you like, most documentation will still suck.

I use bitbucket. Needed a private archive, which github doesn't provide.

Anyone seeing the problem yet?
Principal Software Engineer at Raspberry Pi (Trading) Ltd.
Contrary to popular belief, humorous signatures are allowed. Here's an example...
"My grief counseller just died, luckily, he was so good, I didn't care."

obarthelemy
Posts: 1399
Joined: Tue Aug 09, 2011 10:53 pm

Re: We need Standards!

Sat Nov 19, 2011 10:34 am

You're Doing It Wrong ? (TM)

User avatar
Method
Posts: 30
Joined: Tue Nov 08, 2011 4:58 pm

Re: We need Standards!

Sat Nov 19, 2011 11:18 am

navaru sounds delusional.

User avatar
liz
Raspberry Pi Foundation Employee & Forum Moderator
Raspberry Pi Foundation Employee & Forum Moderator
Posts: 5201
Joined: Thu Jul 28, 2011 7:22 pm
Contact: Website

Re: We need Standards!

Sat Nov 19, 2011 11:30 am

You're very welcome to disagree with what another forum member says, Method, and to explain why you don't like the sound of their ideas, but please don't resort to ad hominems.
Director of Communications, Raspberry Pi

obarthelemy
Posts: 1399
Joined: Tue Aug 09, 2011 10:53 pm

Re: We need Standards!

Sat Nov 19, 2011 12:05 pm

@navaru: rather than do stuff via twitter, which is transient, let's do it on this forum, which will (unless Liz has too much fun) remain a while.
I'm doing end-user oriented stuff:
- Optimizing Linux for flash mass storage
- Setting up a NAS/Torrent/dlna/FTP/static web server
- Lightweight graphical desktop apps
- Lightweight games

All of that noob-oriented, I'm a noob myself. Starts off with a list & pointers to sources, will morph into compiled, as standalone and portable as possible binaries once I get into it more. Actually, I feel I should stop adding to that list, and get to compiling, except I've got no clue what's will be in the Pi distro and what's needed extra.

As far as end-users are concerned, I think there's work needed on
- Emulators
- Peripherals
And then there's a whole lot of work on the education/programming side of things, which I'm not competent with and which seems highly divisive, and on the OS/Toolkit side of things, which is also very divisive and might not be required if the real distro guys do a good job of lightening things up.

I'll always focus on the officially recommended main distro, unless it has severe issues or there's one wayyy better, which I don't expect to be the case. I think fragmentation would be an extremely bad thing, resulting in duplication of duplication of duplication of effort.

navaru
Posts: 8
Joined: Wed Sep 21, 2011 12:03 pm

Re: We need Standards!

Sat Nov 19, 2011 4:36 pm

@Method: you should hear me singing
@obarthelemy: What do you mean by fragmentation?

Everyone has it's own center of interest regarding the Raspberry Pi device, we focus on different layers; some on the hardware, some on the operating system, some on programming, etc.

I wrote *standards* to get some awareness on this topic. This forum is good for start, but not an efficient solution on the long run. Documentation will come, but will come slow, because the R.Pi team will focus mainly on the development and distribution. As a community we should help as much as we can, where we can.. and thus, poorly written docs are better than no docs.

Do we know what pre-built Linux distributions will be available?

User avatar
Burngate
Posts: 6009
Joined: Thu Sep 29, 2011 4:34 pm
Location: Berkshire UK Tralfamadore
Contact: Website

Re: We need Standards!

Sat Nov 19, 2011 4:39 pm

Should the plural of "ad hominem" not be "ad homina" or is my Latin actually Greek?

navaru
Posts: 8
Joined: Wed Sep 21, 2011 12:03 pm

Re: We need Standards!

Sat Nov 19, 2011 4:48 pm

@Burngate: you really felt the need to write that.. ? why? don't answer!

Hazor
Posts: 7
Joined: Fri Aug 12, 2011 5:06 pm
Location: Tennessee, USA

Re: We need Standards!

Sat Nov 19, 2011 4:59 pm

Quote from jamesh on November 19, 2011, 10:28
Nope, nobody agrees. That's the problem. For example, if I prompted my coding standards, the rest of the Linux C people would get snarky (I insist on vertically lined up curly braces, anything else is insane. I'm talking to you K&R).I'm not even a programmer, I'm in psychology, but I took a CS course on data structures and algorithms and the professor did the insane. It irked me to no end.

Quote from navaru on November 19, 2011, 16:36Do we know what pre-built Linux distributions will be available?
The FAQ lists Debian, Fedora, and ArchLinux. A recent RPi [url=http://www.raspberrypi.org/archives/358]news post[url] showed another.
What do you mean by pre-built, though? Geared specifically toward the RPi, or simply supporting ARM-powered devices? If the former, I imagine that there will be few if any. If the latter, I imagine that many already exist in addition to those already named.

kme
Posts: 448
Joined: Sun Sep 04, 2011 9:37 am

Re: We need Standards!

Sat Nov 19, 2011 5:11 pm

What do you mean by pre-built, though? Geared specifically toward the RPi, or simply supporting ARM-powered devices? If the former, I imagine that there will be few if any. If the latter, I imagine that many already exist in addition to those already named.There will be little difference between a generic ARM Linux distro and one for Raspberry Pi. It really boils down to an optimized kernel (a generic will work just fine but will be overweight) and an optimized x.org (a generic will work just fine but will be overweight). Beside these the Raspberry Pi is no different from any ARM system.

The package system in Debian, Fedora and Archlinux is standardized and well documented, so frankly I fail to see what the OP is making noise about.

bradburts
Posts: 341
Joined: Sun Oct 02, 2011 7:07 am

Re: We need Standards!

Sat Nov 19, 2011 6:02 pm

I always thought that standards were things created by a secret team of disaffected hardware engineers to keep the software engineers busy whilst they got the hardware to work.
There was once a MoD coding standard which forbade 'C'. The standard claimed that 'C' was infinitely worse than assembler and FORTRAN and therefore only assembler or FORTRAN could be used. That was back a few years of course and the simple work around was to give the customer two prices......
Point is that inovation is often outside the standards. Sometimes the rear guard actively oppose the inovation as in the case above.
In our case the community is quite large and well connected, that allows a sort of genetic selection to take place. The good approaches will flourish, be copied and will become their own standard.
There is also the need for diversity, there is not a one size solution, which is what allows us the fun of playing with the kit.
EDIT:
I take the point that there is some really naff documentation around and therefore from a user's perspective a standard approach would be nice.

obarthelemy
Posts: 1399
Joined: Tue Aug 09, 2011 10:53 pm

Re: We need Standards!

Sat Nov 19, 2011 6:46 pm

@navaru: by fragmentation, I mean different Pi projects, or different Pi audiences, using different distros. i.e., one guy ports a SNES emulator in a way that requires debian, another ports a C64 emulator on Arch, etc.. etc... or wholesale, all the "emulators" guys favoring debian, all the "education" guys favoring Fedora... not as bad, but still wasteful.
I know: choice, freedom, patati, patata... in the end though noobs need docs and support, it's hard to get that for 1 platform, we'll never get it for 10 ^^

obarthelemy
Posts: 1399
Joined: Tue Aug 09, 2011 10:53 pm

Re: We need Standards!

Sat Nov 19, 2011 6:55 pm

@bradburts: there's the lab, and there's the factory floor. I'm all for labs, but at some point non-lab-rats (non-geeks) need to actually be able to use the stuff, i.e. it needs to be stable, user-friendly, and have a manual. It's probably not *that* important if features and performance lag.
Frankly, I think treating all the Linux ecosystems as labs is a tremendous mistake. What Ubuntu has been doing recently for example, forcing half-baked buggy stuff (grub2, Unity in 11.04...) on all their users, is not good.

User avatar
Jessie
Posts: 1754
Joined: Fri Nov 04, 2011 7:40 pm
Location: C/S CO USA

Re: We need Standards!

Sat Nov 19, 2011 7:10 pm

The foundation can set a standard platform and libraries that they will support, but I think from day one we are going to have many camps. There will be Fedora, and Debian from day one and all their derivitives. Then there will be Qt, and GTK and the list goes on. If it were possible for the Linux community to agree on standards we wouldn't have over 500 distros. We would have like five: embeded, mobile, desktop, server, HPC for all platforms and processors.

asb
Forum Moderator
Forum Moderator
Posts: 853
Joined: Fri Sep 16, 2011 7:16 pm
Contact: Website

Re: We need Standards!

Sat Nov 19, 2011 7:10 pm

obathelemy: that's not going to happen. It really isn't that much work to make packages work across different distributions, especially if the source is available.

User avatar
johnbeetem
Posts: 945
Joined: Mon Oct 17, 2011 11:18 pm
Location: The Mountains
Contact: Website

Re: We need Standards!

Sat Nov 19, 2011 7:55 pm

To paraphrase Albert Einstein:
I love standards. Whenever I need one, I invent it.

From my own observation, I have found that standards writing often attracts a certain kind of person. I've met these kinds of people, and listened to them argue about minutiae, along the lines of whether "ae" should be spelled as a single character or two. For me, one hour of that was enough for a lifetime. If you like that sort of thing, look for on-line discussions of how many spaces per tab, vi versus emacs, and how to pronounce and/or capitalize "vi".

As I understand it, when Steve Wozniak looked at the IBM-based standards for floppy disk formatting he was utterly disgustipated and re-invented run-length limited coding. Non-standard, yes, and it meant nobody else could read or write Apple II floppy disks, but it meant that Woz could design a simple, elegant, and cheap floppy disk controller. Of course, this was only possible because he had adequate hardware documentation for floppy drive hardware, hint hint.

As others have stated earlier in the thread, what's most important is good documentation. IMO, let the various contenders put pointers to their work in the Wiki and let the marketplace decide which are most practical and easy to use.

bradburts
Posts: 341
Joined: Sun Oct 02, 2011 7:07 am

Re: We need Standards!

Sat Nov 19, 2011 8:54 pm

I agree that stable, user friendly are more important than features.
The RPI is for education and so flakey basic services is going to switch a lot off.
I was not arguing against user friendly etc though, rather for better quality.

No-one is forcing Unity. I am on LTS, quite happy with that. Hell of a lot cheaper than Windows Server anyway!
The point I was making is that documentation styles should evolve and that its right for the development teams behind them to determine that evolution.
We help and speed that process if we call crap crap, or refuse to use of course.

I would value a trained, experienced and motivated (in reverse order!) team who will take charge of quality over a standard any day.
There's another thread discussing an app store which reached the dilemma; who will take responsibility for quality?
So you end up with geniuses who develop free applications supported by those who write Wordpress guides. Its not great but no-ones is paying for more.

The OP suggested a coding standard:
http://thc.org/root/phun/unmaintain.html
I would hold this 'standard' above any other, it is educational and engages in a humerus way.
A standard standard would just become another documentation lag, you cannot improve until the standard is updated.
Replace 'standard' with 'best practice guide' then I am with the programme!

BTW There are plenty of 'good' standards which may be used as guidance. You don't need a new one. If you want a development standard then download 12207. Once you start your project you then start thinking, do I need to apply this section to this problem?
You could liken it to the quote; planning is everything, plans are useless.
So I agree, quality must improve. Standards are not the way though.

User avatar
Vindicator
Posts: 314
Joined: Sat Sep 17, 2011 11:10 pm
Location: Susanville Ca USA
Contact: Website

Re: We need Standards!

Sat Nov 19, 2011 8:59 pm

When talking Linux I think talking standards may be a mute point as in look at Ubuntu/Kbuntu/Lbuntu/Edubuntu/Ubuntu studio/Xbuntu/Mythbuntu/Gobuntu as well as derivatives like Linux mint/Goobuntu and peppermint/Nbuntu which are all derivatives of Debian in one way or another and that is just a fraction of Debian based/Ubuntu.
http://en.wikipedia.org/wiki/L.....tributions
Last time I counted there were 80+ active distributions of Linux.
So what Standard are you going to use LOL
how about PIbuntu
or FedoraPI
OpenPI
It would be nice to have a officially recognized distro, but what the R PI is being used for will probably dictate the distro in use.
What about the hated Windows standard LOL
If you are more worried about ,spelling, punctuation or grammar you have probably already missed the point so please just move on.

Chris Tyler
Posts: 70
Joined: Thu Jul 28, 2011 12:16 pm
Contact: Website

Re: We need Standards!

Sat Nov 19, 2011 9:09 pm

Let me ask the stupid question: Why do we need to standardize? And what do we need to standardize?

The Raspberry Pi project won't operate in a vacuum -- there aren't sufficient resources to manage the full hardware+software stack within the bounds of this project, and it's better to have a lot of the hardware pieces addressed by standards (micro-USB power, USB expansion, HDMI video) and the software pieces addressed by the open-source upstream projects (gimp, apache, abiword, gstreamer, ...) and distributions (Fedora, Debian, Arch, MeeGo, ...).

Many of the standards are maintained by those parties. Apache, GNU, Mozilla, and Gnome all have their own coding standards, and thousands-to-millions of lines of code written to those standards. We can't say "rewrite your code" nor "forget all this existing software, we'll write everything from scratch". Likewise, there are rigorous packaging standards in place within the distributions; we can't just tell them "rewrite your standards" nor "forget all this existing packaging work, we're going to repackage everything from scratch" -- it would be a huge waste of effort.

I also don't think we want to say "this is what you MUST run on your Pi". A high school robotics club doing machine vision and navigation on a Raspi will use a very different software stack from someone running a desktop. It may be that they each use different package sets from the same distro, or they may use entirely different distros, but there won't be a lot in common above the lowest layers in the stack.

What I think we should focus on is encouraging interaction and participation in open source (and open hardware) communities. It would be great if students (or others) who write cool software then go and package it up for one or more distributions, and work with the distribution communities to go through the package review process and become package maintainers. Likewise, where a student makes a neat mod to an existing piece of software, we should encourage (and teach them) to upstream their patches. This provides a fantastic learning opportunity, connects students with communities that can help them learn and grow, and also benefits those communities.

Parallels are often drawn between the Raspberry Pi project and the microcomputer scene of the 80's, and I think this holds true for the software side as well -- besides magazine listings (nostalgia!), there was a lot of user-written software that was traded at tape meets and floppy swaps, and the best of that ended up in the public domain software collections -- which had code and packaging standards just like the distros do now.

obarthelemy
Posts: 1399
Joined: Tue Aug 09, 2011 10:53 pm

Re: We need Standards!

Sat Nov 19, 2011 11:21 pm

@Chris Tyler: if Linux wants to break out of the geek/hacker segment, which is very small, it needs to stop setting as a goal "encouraging interaction and participation in open source". Most people are just users, which may be sad and objectionable, but is a fact of life and won't change. If Linux wants to be used it needs to think of its users. Users don't want to compile stuff, try out 10 wrong solutions before stumbling onto the right one. They want to achieve quickly and effortlessly what they set out to do. You can't tell a kid who wants to make the turtle move to go rebuild a kernel.

Pi indeed has no business telling distros what to do. But it would be bad business to embrace all of them, ie none of them ("qui trop embrasse, mal étreint": "grasp all, lose all" (? +sexual undertones ^^), and let users sort it out for themselves. '80s microcomputer users didn't have to contend with OS patches, toolkits, package managers, VFP vs I don't know what and little-endian vs big, etc... Today's users shouldn't have to either. C64 software ran on any and all C64.

Return to “General discussion”