Date: Tue, 04 Dec 2012 14:48:53 -0600 From: Rob Landley <rob@...dley.net> To: musl@...ts.openwall.com Subject: Re: Summary of 1.0 marketing plan/scheme/nefarious plot from IRC. On 11/30/2012 10:06:20 PM, Rich Felker wrote: > On Fri, Nov 30, 2012 at 08:04:44PM -0600, Rob Landley wrote: > > >> - already tested against 8 gazillion packages > > >> - standards compliant > > >> - BSD license: static linking ok, android deployment ok > > >Little quibble: MIT + some BSD and some PD code. > > > > Alas, we don't have a good group term like "copyleft" for "would be > > public domain if our legal system wasn't screwed up". > > We do have a word for this license class; it's called "permissive". > Roughly speaking, "FOSS" breaks down into "permissive" and "copyleft" > licenses, where the former basically allow you to do whatever you > like, and the latter burden you with ensuring that the parties who get > the software from you get the same freedoms you had. > > > I poked Dalias on irc to clarify that we can give a single top level > > license and call all the code "compatible" with that, and then link > > to the big long copyright list for everybody who cares but have a > > clear story on the website. > > The MIT license text serves this purpose. At some point we might want to collate edits to the original list. More suggestions: The musl-libc.org main page should probably just go to the "intro" page, possibly with the existing paragraph merged into the entro. The "what are musl's dependencies" faq entry is a mix of bullet points and non-bullet point material that doesn't just clarify the bullet points. It doesn't mention what "make" you need (posix-2008 compliance should be enough?) and the shell is implicit (does _not_ need bash, posix-2008 again good enough?). Did we actually test Linux 2.6.0? Hmmm... something like: ----- Compiling and linking programs against musl should work with any conformant C compiler. To build musl itself, you need: - Linux 2.6 or later - c99 compiler with support for gcc-style assembly language. - linker with weak symbol support - posix-2008 compliant "make" and "sh" - a supported CPU architecture At present i386, x86_64, arm, mips, microblaze, and powerpc architectures are supported by musl. ----- It would be nice if there was some kind of "musl manual". If you want to write a program against the musl libc, what does it provide? (HTML is fine, man page format is kinda archaic these days. This is mostly posix, but not entirely.) If we're not up to writing something, w link to the POSIX spec with the list of functions we've implemented, plus the man7 pages on the linux variations thereof (and system calls) and maybe the Linux Standard Base sort of collectively covers it. http://pubs.opengroup.org/onlinepubs/9699919799/ (see "system interfaces") http://kernel.org/doc/man-pages/ (sections 2 and 3) http://refspecs.linuxfoundation.org/LSB_4.1.0/LSB-Core-generic/LSB-Core-generic/book1.html (chapter 12) Beyond the FAQ, there should probably be a page introductory docs. I generally link to the old boot floppy howto, the power up to bash prompt howto, and Linux From Scratch. (We could always write something new, but this is more "understanding how your root filesystem works" and "creating a small distro" than "how libc works".) It's a pity the Linux Foundation's lack of clue keeps bleeding through to the point they link to a "registration required" _wrapper_frame_ for posix-2008 instead of the actual web version: http://refspecs.linuxfoundation.org/ (Yes, if you dig through the susv4 they link to and bother to register, it's just linking to the opengroup.org pages via a gratuitous HTML frame. Pity, the refspecs page is a good collection of docs other than that, modulo some guidance on which of the several versions of each thing they link to are actually useful. But that's the Linux Foundation for you: a collection of Fortune 500 companies tried to give money to this "Linux" thing and couldn't figure out who to make the check out to, so they created an entity for that purpose. This entity remains very good at cashing checks, still working on the rest.) Anyway... More conceptual intros: what is ELF (with a link to the specs and mention of alternatives like #!/interpreters, binflt, binmisc, and historical a.out) also WHY is ELF (it's an archive format for binary code, about as flexible as tar or zip but with metadata about function names, offsets, and permission bits instead of files/lengths/owners, generic enough that binflt is created from it). Dynamic vs static linking, "what is a dynamic linker and wazzit _do_". Something on the whole "how to tell if your binary is built against musl or some other libc, how to tell if it's statically or dynamically linked" (fun with ldd and readelf -a), long ago I wrote an intro to cross compiling if that's worth linking to... Stuff. Rob
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.