Older blog entries for crossland (starting at number 1)

18 Aug 2010 (updated 21 Aug 2010 at 19:21 UTC) »

CSS3 Fonts at TypeCon ========================

Here are my rough notes from the TypeCon CSS day with John Daggett. Nothing should be taken as a direct quote of the speakers who are supposedly associated with this text as my own thoughts are interwoven with their points, the person switches around between they and I and we all the time… Basically trust nothing. I made them for my own reference and publish them in the hope you might find them interesting but they must not be relied on. If anyone wants anything changed, please email me! dave@lab6.com. Happy hacking :P

John Hudson: CSS3 font module has 2 key aspects, @font- face and OpenType Font selection; we want to focus on that today and not web font formats.

John Daggett: I have a slide deck but feel free to interject questions. Some things are mundane - its a spec afterall - but hopefully some of it is interesting.

I am a developer working on FireFox, and working on the CSS3 fontspec. Discusion happen online, on www-font@w3.org mailing list. That's a good reference.

I'm going to cover:

* W3C Spec process * Font selection in CSS * mechanics of @font-face (but not font formats or rendering) * New OpenType feature support

W3C Spec process -------------------

CSS 1 (1996) was very basic CSS 2 (1998) was very sophisticaed, with @font-face, font- stretch came in CSS2 CSS 2.1 (2002-) was started to slim down all of CSS2 into what was actually implemented; @font-face was one of these things removed CSS 3 (2002-) is a set of independently evolving modules CSS 3 Fonts (2008) is such a module with @font-face and OpenType modules.

CS3 fonts will defint @font-fac emore narrowly than CSS2, for better interoperabilty and consistency between browsers, and richer typographic controls.

dev.w3.org/csswg/css3-fonts/ is te Editors Draft, where you can see the latest version I am working on.

Font selection in CSS -------------------

Choosing a font starts with font-family, a fallback list where the first that exists is used, and if none exist you use a UA defined default

37signal.com uses this, on Mac you see Helvetica and on Win you see Arial.

A font family name is definied in TrueType funky. TrueType can have multiple localisations, which is used in Japan - latin only and japanese names for same font. Browsers use platform APIs for font family matching, and they allow broad matching..... so you will have to say "Arial Bold" "ArialBoldMT" with font-weight:normal to select that font family. APIs also don't support locales properly; a Japanese locale machine will match a japanese named family but an english locale won't match.

Win GDI limied family groups to "normal, bold." But you have numeric values, 100 ... 900 and bolder/ligher relative values. But most apps only have bold/italic toggle buttons for selecting font fmaily members.

So there's "M+" a libre font for japanese with 9 weights. http://en.wikipedia.org/wiki/M%2B_Fonts

Helv Neue has a range. Helv Neue LT Std in Font Folio 11 has 8 weights, but the weighting starts at 250 not 100, and this allows GDI autobolding to "helpfully" adjust the weight for members with a value <= 200. . So Apple treats the usWeightClass as unreliable, and sniff the name for the weight value.

Q: Where did 100...900 come from?

I think ISO. If you have a font with more than 9 weights, some will be hidden/dropped. Or if you add new intermediate weights and then the numbering changes... If you have a specialised app relying on this weight classification you have a problem. There mny kinds of bolds...

So when you use the strong tag you want it to be bolder than the surrounding text. Idea is you adjust the weight of the parent, but in a 2weight world bold is on or off. So the weight to be used depends on the content; if you have japanese text among a latin paragraph, they may have different numbers of weights. This generated a lot of disccsionss, and the solution is to have a fixed mapping:

inherited value bolder lighter 100 400 100 200 400 100 300 400 100 400 700 100 500 700 100 600 900 400 700 900 400 800 900 700 900 900 700

John Hudson: what if you have a fmaily with more than 9 weights?

Adam T: If you have 100,300,500, and from 500 you say lighter, it will become 100 not 300?

Yes. This is a potential problem. But you can always specif the weight, not use relative, to get 300.

Adam: If you ask in CSS for 400, and the platform has 350 and 450, what happens?

We dont specify how to round down, we just say that they must not be out of order; they must count up from light to heavy

Okay.

Then there is font-style, and that can be normal, italic, oblique, and oblique is usually treated as synonymous. Families with both are rare. Computer Modern from TeX has both, and its important to distinguish for maths. That's the sole reason this exists here, and that has been ecliped by Unicode having ranges for those chars.

So we have this problem with rendering APIs have always said that they can synthesise the bold and italic. Authors say "I was unaware there was no bold futura on my machine" - and there is no typographic tradition of italics in Japan, but now if they are not supplied, users will complain.

Adam: Photoshop added "faux bold" options because people wanted it!

Its a troubling situation, browsers will use them. If a font has 100 and 400 weights, sometimes a browser will synthesise

Raph: WebKit adds horizontal space when synthetically bolding fonts, Firefox doesnt. Is making that consistent in scope for CSS?

Interesting point. There is existing behaviour and its hard to change that. I'd rather make it explicit for people to use real font familys and not use faux ones.

Futura on OSX10.5 has no bold; it has 4 faces: condensed extar bold, condensed medium, medium, medium italic. So browers fake a bold by smearing a regular face, and fake italics by obliquing. The bolding is done by drawing twice, and now we have transparency in CSS, fake bolding mixed with a blend changes the color!

font-stretch is really the width, its new in CSS3, and uses valuesin the usWidthClass names (condensed, expanded) - and I _do-not_ wnt synthetic.

Q: whats wrong with that?

The selection algos get complex. and you may not want to fallback to something autogend, like in latin it might be ok but in japanese it wouldn't be good.

Synthetics could be fine, but it should be a separtate property; geometric/styling ones. there are transforms you can apply to text, synethics should belong there.

So for large font famile, OSX ha "nameID1" only. Windows has 3, first is nameID1 with the family name but only the basic 4 members. then you have nameID16 with 16 members. Then when there are really large families, you need ANOTHER name, nameID21 for WWS family names: "all the face in a family, weight/width/slope, are grouped." Arno Pro has optical sizes.Bold, Bold Caption, Bold Display, Bold Condensed, are hidden into "bold" on windows. Similar in Japanese Osaka and Osaka-Mono can't be distinguished.

Font Family Name has to map to the nameID1 since that's what users see and know.

JH: not many nameID21 fonts are out there

Adam T: FontLab 4.next will support this better, certainly will in FL5. nameID1 is equal to the combination of nameID16.

So we could say browsers must respect these names, but people will put the name they see in their OS menus and expect it to work.

Tom Phinney: if mac users design sites to work on windows, they will need to know differences.

Yes, and the other way.

Mechanics of @font-face (but not font formats or rendering) ---------------------------------------------------------

CSS2 had intelligent font mapping; panose numbers, etc, and when you went through fallback you coul dpick more intelligently what to use.

This was too complex for what people wnted to do. the spec wasn't the sole point of faliure. font develoers fought to make a 50k file 30k back then.

Chris Lilley: PANOSE isnt veyr good except maybe for latin. we got half way on PANOSE2 but fossilised. you could have a huge @font-face with many things.... it was good to remove it.

@font-face has a child font-fmaily that DEFINES a string to be used in real font-family properties. and so was a whole . Its totally under author control, and mnothing in the font data effects it. So I can say "arial" and browsers should use this for all arial instances on the page.

Adam: This has been used: Tim Ahrens did FontFonter, a tool that allows you to enter a URL and you get a FontFont wbefont as your body type. it injects a CSS that overwrites all system font names with a url() src'd font. Ikea Futura website ;)

THis is not system-wide, it per-document, and this this for security, and also what proprietary font vendors want.

Richard Fink: If a document never uses a font, will the font referenced in the stylesheet be downladed?

I think thats for UAs to decide.

Chris Lilley: FOUC?

Q: will fallback stop being common?

In latin maybe, in non latin probably not.

Q: how to obsolete this?

Vendors to ship platforms with presinatlled font libraries.

JH: or offer fonts for download and installation.

Yes, BBC supports many languages no longer have to provide a font to download and install.

Web video is using a lot of bandwidth, fonts are pretty small today.

So heres a way to define multiple weights, you had 3 @f- f stanzas for reg bold and black, where the name, url and weight values are set. Some font services dont match the font to the css properties correctly. Some hand off to the platform API to do this, which is unreliable.

I did a test case where you invert the weight values; firefox is the only one that gets it right. For local its more likely to fail. The point it it should match based on what the CSS author has defined, not on what the OS says.

format hints can be added to src: properties in @ff. unknown formats are skipped and truetype and opentype are synonymous. if you dont mark it, the browser will detect it, but if you mark it and a brwoser thinks it doesnt know how to handle that format then it will skip the download.

Phinney: a WOFF can be either OT or TT?

Adam: a WOFF capable UA must understand both OT and TT.

ChrisL: PFR/EOT war meant it was there because it could have mattered, now its a historical footnote.

Vlad: OFF sets different conformance levels.

Jhudson: can we reference an OFF conformance level in the WOFF spec?

Vlad: Sure.

Phinney: we care about distinguishing these, to ship OT to mac and directwrite, and truetype to older browsers. we'd like to make this ditinction in WOFF.

Adam: We know how to sniff already, anything we add to WOFF will not be specific enough.

WEbKit will not download a .EOT file. UAs are not meant to do this.

Adam: one web font service generates URLs without extensions.

The real problem is that there are no font mime types. that will eb the best way to detect it. the ideal is to have font-ttf font-* but the top level of mime type is set.

vlad: i was told if we have enough real support, a strong interest from W3C and members, and the groundwork was laid in ISO, as much as MIME dont like it they might do it.

adam t: can we add this to the Web font WG agenda?

vlad: charter has an 'toerh deliverables' section.

right, so if you can look at the mime type you can do more stuff. PFR has a mime type! application-something.

vlad: you could argue that some formats have a specific application attached, so applicatiln is a proper place.

adam t: if woff is a w3c standard it cant be like that.

chrisl: font format top level mime type was proposed, and when that got serious push back we added this to CSS, but now it seems things have hcanged

i and howcome talked to them too and martin dutst (?) siad it would take a long time.

You can use Local Fonts if available with """ src: local("Gentium"), url(fonts/gent.ttf); """ and download if not. defined using fullname or Postscript name. it allows access to ALL faces.

So if you want to ue Gentium Bold, you have to say "Gentium Bold" as a font has localised family names and you dont want the UA to maintain a database of all fonts' localised names.

The Mac is Postscript name based, that's there unique name scheme, and you can search on fullname too; GDI can only use fullname.

So: Put the fullname, put the postscript name. and you'll be good.

When you have a font-family name, its mapping to the whole family, and local is mapping to a unique member of the family with a uniqe name.

Composite fonts with unicode-range. actual rane is the charmap in the font, intersected by the ranges specified with this propoerty.

jh: many scripts use latin punctuation. you'll want punc from thai font when in thai text. language tagging can do this?

...

same origin restrictions: WOFF spec will say this is required, CSS font spec defines the mechanim but doesnt require it. this means fonts will only be loaded from the same domain. if you run a font library you must allow anuone to do so with CORS. same protocol, domain and port! so you need to serve fonts over https or use CORS to allow.

# apache exmaple <FilesMatch "\.(ttf|otf|woff)$"> <IfModule mod_headers.c> ...

Font Loading: timing of font loading? common page structure is to link to a JS and CSS file. this happens fast, the resources lik eimagesn and fonts take a while.

Safari how a blank page with default metrics. (underlines will be shown on those default metrics ;) Firefox shows fallback fonts. I think we'll end up with a hybrid thing with blank for X seconds and then fallback for more than that until the font arrives. Problem is latency is mostly things other than downloading data. so smaller filesize doesn't win too much.

Japanese font handlind: Japanese fonts are LARGE. 23,000! They fonts are print orientated. OTF, fewer TTF. complexity of glyphs means cost is high. not all browsers support vertical layouts and metrics. web fonts are very different to print fonts in japan; latin can be more easily converted. hinting is a huge process!

Microsoft sent out a ClearType Meiyro promoting.

www.decomoji.jp is the japanese typekit. So you could take the top 3,000 chars by frequency of use and put them into a "jis-1" font and associate that with a jis-1 unicode-range property, then the rest in a much bigger jis-2 font, and use unicode-range "jis-2" for tat. so that the big jis-2 font would only be downlodaed if it is needed by the chars on the page.

New OpenType feature support --------------------------------------

So this is the big thing.

Howcome and Adam Twardoch and Tal Leming started it. Etan Wexler also proposed something similar.

idea was ot have properties to enable AAT or OpenType featuers. AAT can be compressed with WOFF when its in SFNT format. starts with OT but can be extended.

** WHAT ABOUT GRAPHITE FONTS? :) **

font-variant becomes shorthand for subproperties.

no sythesising (except for compatiblity) - prefer to fallback to default glyph if variant glyph/feature isn't available. Smallcaps is such an exception.

font-kerning: normal|none|auto - i wanted kerning on by default, safari wanted off by default, and auto allows them to do what they do. author can say "normal" and even safari will use kerning.

JH: can we use something other than "auto" - autokerning means something unusual to type people...

thats usual in this area. if text engines get faster, auto will mean ON more likely.

JH: a useragent with an autokerning system could misinterprit it?

authors want to evaluate the reults by looking at a browser and finding similar results in another brower.

font-varient-ligtuares: control over common, descretionary and historical ligatures. no value impled by default, common on by default and decr+hist off.

font-variant-alternates: see the editors draft URL for examples of all of these. some take a numeral selector and if none is used (1) is implied.

font-variant-caps: "small caps" "petite caps" etc. Note that all-small-caps is differnt to small-caps+text- transform:lowercase

adam: you can use the low level setting to set smcp(0) and then it wont use it.

chrisl: worth noting in the spec's examples?

...

font-variant-east-asian: control over CJK variants and WIDTH features. but some are not defined as im not sure this is the right place.

font-feature-setting: still in flux, but allows arbitary control of low level faetrures. id like this to be as simple as possible, and extensible... but not defining something does not make it extensible. you can set this in an @f-f rule and that sets the default features "on" for all uses, that can be overrridden further down the cascade stack. ... having this is convenient, but it will complicate things.

language support: OT fonts can have lang specific features, like turkih ligatures, etc.

** Firefox 4 Beta supports these font-featrure setting! **

I expect IE9 to implement as the system API is there.

adam t: harfbuzzng?

yes, complex script for arabic and indic is handled by platform shapers at the moment, latin/cjk/etc is harfbuzz (????)

okay, font security!

iphone unlocking exploit was done with a font in a pdf for code injection. as downloadable fonts are more common, we'll see more of this. coretext and uniscribe hasnt been tested. hackers are very smart, they will play with font tech.

so, a bug in a font engine will crash on a bad or malformed font data. sometimes brower core, sometimes system code. some crashes just suck, some are lethal when a buffer overflow happens, when random data is executed. they can form that rnadom data so when a bug is hit their code is run. you can do "font fuzzing" to tweak fonts to find crashes, and they dont do it very fancy. charlie miller will run 5 lines of python to fuzz 4 applications and find all kinds of things. firefox security team is working on this kind of thing, perhaps uniscribe on windows is better than coretext on osx/ios.

*** how does this effect a font developre? browsers will get stricter with fonts! minor validation errors may cause your font to be rejected. today chrome has an opentype validator; it will strip out the main table and rebuild it, throw out unkwnon tables including GDEF GPOS GSUB (which is a problem for internaional scripts!)***

Raph: you can run your fonts through chrome on the command line, I recommend this. its on code.google.com "OTS" and international fonts are being worked on.

Security matters. recently in the news, cars have wireless tire pressure sensors that can be hacked and could lead to a car being crashed!

A few other ideas!

* size baed font selection - david berlow led this. * better hyphenation - some JS techniques for this * font-scale, font-extend? - jkew said that scale would be a specific property for synthesisiing sizes (?)

jh: some engines use no hinting, some use hints selectively in some directions... david berlow has suggested PPEM specific outlines. (?) here are my slides for my presentaiton. ... an issue is that textblocks can reflow with different outline and metrics, so zooming in the textblokc changes, thats annoying.

adam: gvar and multiple master? ;)

hrant: if the zoom is 100%, use the native ppem font; otherwise use the default outline

jh: yes, if you can be sure that you can tell what 100% is. with adaptive layouts we might be unable to be sure. there are many ways to specify size in CSS and none specify PPEM. you must know size and resoltuion

adam: px?

sergey: no. are device pixels in the spec?

jh: ive said "size specific outlines" - they could all be inthe same font file with a mechanim to select them. the difficulties of getting it work mean its unlikely to happen. but the effect is so much clearer, its really better this way.

adam: iphone renders veradna worse on iphone4 than iphone3; the stroke are too thick. the pixels on iphone3 give a good weight.

jh: 96-100dpi screens will stay around a long time.

hrant: is a 300dpi printer good enough?

jh: yes if your font is designed for 300dpi!

hrant: we want this because we're not achieving the potential of screens today. its a technical issue with reflow and scaling; perhaps it can be solved. but the point is that we are not doing what we could.

jh: with @f-f i expect the wbe to be less readable; naievity of font selectoin by web authors, also the first offerings of font developers rushing to market, licensing fonts for the web, people havent come up with font as good as verdana and georgia. stuff going to market now isn't as good and it will take time for the market to improve. until we see serious revenue, how much will we invest in web font families with high levels of readability?

raph: veranda poor at hig res? when you move to a hi res world the tradeoffs are different. font scaling technology gave a poor mans optical scaling, so the contrast was increased as you went into larger sizes. so the ability to do this poor mans optical scaling with hi res screens mean you lose this. so a veradna like font LOOKS different to the outlines in a low res world. so you need to rbing back 500 year old technology, with thicker outlines and different spacing, for fonts used at small sizes. at 96 dpi, you dont see nmuch, but at 100-200dpi displays, you get a big payoff. i'd like to see that supported.

csyle: what about the fonts made for 300dpi printers?

raph: 300spi printers had specific things; 2 outlines for optima and how that was problematic we can remember. the need for optical scaling isn't device limitations, thats what best for the human eye. we still want the benefits of optical scaling.

adamt: printer is 300dpi shades of grey reflective media, screens with 300dpi are different. you had fixed point sizes in metal too. fluid moving and scaling of text is not discrete jumps between siezes.

raph: this is a deeper discusison, i want to vote for size specific PPEM with a narrow technology window. if we do it right at 96dpi, but the need for optical scaling has a longer time frame and i would love to see plannig for that, maybe not this spec.

jh: i agree, these are separate things. optical scaling is more adressable. you could do it now, you have Adobe optical pro font, and you specify in CSS what to use.

raph: yes, we want CSS to give you the sepatrtion beween contenta nd presetnaiotn. so in css3 we want family choice to maintiant content-pres sepataoin, and also DEFAULTs are important. we want templated sytlesheets that naieve designers can drop in and find thtat body text uses a goo dbod font, and headlines use good headline fonts. optical scaling being baked ino the family name means that islost.

jh: the sizefeature in OTL is a hack; itsnot teh right place. GPOS features are run late in the text layout. ... we have talked about a SIZE table. when we were planning OpenType 1.6, david below drafted an idea for a size table, which was complicated. we need a simple solution to do what you are talking about. something to revisit. vlad, is OFF due an update at any time?

vlad: nothing atm, process works by sufficient number of feature/improvements needed, then it will happen.

jh: from a technical perspective for speccing a table, who would like to be invovled?

tal: is that addressing a real problem?

jh: opticla scaling, yes

erik vb: its decided that its a table and so on seems blazing ahead

raph: i hitnk its more in css than opentype; its about selecting the right font for ajob. when you are 36pt you want headline fonta nd at 8pt you want caption fonts.

vlad: if you scale brower window, css wont know its scaled....

raph: i recommend the prezoom size... this is a deep conversation.

jh: where it intersects with opentype, weight numbers, data in the font can be mapped to CSS.

hrant; optimal size differs depending on how far away you hold it.

jdag: this sounds like font technology, not css

adamt: the OFF format claims to be scalable; but thats just simpoly geometric. we tried glyph variations in Multiple Master. weight isn't something to happen in fluent MM way, but scaling is. you want to adjust it fluently; having a set of dicrete outlines is a complete dead end. bringing back MM or GVAR for optical scaling only, is I tihnk the only sensible solution to the problem.

hrant: screen is made of dots.

tom phinney: its 1730, should we block time in typecon to chat size stuff for an hour?

jh: okay, this session is over, tonights event starts at 7pm.

Here are my rough notes from DebConf 10. Nothing should be taken as a direct quote of the speaker who is supposedly associated with the talk as my own thoughts are interwoven with their points, the person switches around between they and I and we all the time… I made them for my own reference and publish them in the hope you might find them interesting but they must not be relied on. Happy hacking :P

(Hmm, Advogato doesn’t process MarkDown. That sucks.)

<h1>2010-08-01 Sunday - DebConf Day 1</h1>

<h2>Intro to DebianDay</h2>

Free software means we control out computers. Interaction is part of what it means to be human. We make and use tools, that’s also essential to humans. More and more we interact through our tools. And as computers become more important, they effect democracy.

Free software has the potential for anyone to contribute. But having a libre license isn’t enough; OpenOffice for example is veyr largeplex, C++, and the freedom is not accessible. Free software is just the beginning of the idea that we should own our tools.

We need to change how we think about computer literacy. Debian people work together to build a fully free OS, but we continue to talk about USING a computer, and not IMPROVING a computer.

We want read/write tools.

When we teach anyone about computing, we ought to teach programming and customisation. Programming itself is typically designed by and for engineers. That’s useful and needed. Like reading and writing, we have specialists and even writing systems for writing fast, but we also have vernacular language for everyone.

The big next step is to make programming something everyone can and wants to do.

Other ways to contribute are submitting bug reports, writing documentation, organising things like DebConf.

Deebian is a great example of democracy for developers, an international community, run on a constituion (DFSG).

So.. Should Debian be the OS for computer literacy for everyone? OON, Debian is for technically skilled people who want a level of control over their computer that only free software can provide. OTOH, Debian wants to be accessible to non-experts.

How can that happen? If Debian wants bug reports from newbies, can te ‘technical wall’ be overcome?

Q: phones?

A: Telecomm companies are corrosive to networks. I have no mobile, I have an N810 with Wifi that Iuse for VoIP, its Maemo is Debian based I think…

Promoting Free Software in Government - Andy Oram, Editor at

<h2>OReilly - praxagora.com/andyo/</h2>

The government of Massachusetts 2003-2007 used OpenOffice.

USG spends 13billion on software licenses. Half what is spent on guided missiles.

Network effects! Gov choices effect a lot of people. Proprietary vendors know this, FSB can get a lot of benefit from these network effects.

Whitehouse.gov adopted Drupal, 1/2 of us hear this.

US Government staff associate “free software” with untrusted downloads of dubious origins. “open source” is what they understand and trust.

Ration arguments against: Inertia and fear of change, change costs and time sinks, government managers are risk averse, and proprietary vendors will say anything they can.

More sophisticated arguments: Access for all. Vendor independence. Archiving. Customising for special government needs; USG was banned from setting cookies, which meant it couldnt use YouTube; when USG posts a video, youTube will not post a cookie to the user. Security; libre can be just as secure.

Cloud computing becomes a problem especially with DMCA restricting opening proprietary media formats. Libre formats is key.

Passionate arguments are crucial, even if the rationale is air tight, because unexpected problems will come up

Its great to have backing from the top, ideological backing. Via Libre Foundation in Peru, CISL in Brasil, helped influence their governments. You need a lot of training infrastructure to do this right.

In Peru, 1996, there was a practical problem from inconsistent proprietary software used to do taxation which meant the tax law was applied differently in different areas. In 2001 Villanueva had a bill, passed because of a huge media campaign on citizen rights.

So practical and ideological arguments combined are key.

Managers to implement the vision. understand how to interact with developer community. Get managerial credit, like OpenSourceForAmerica.org is an award that managers in federal USG can work to win.

The new ‘challenge’ approach: USG announced an app content, publishes open data sets in programmable formats. Healthcare datasets in the USA and Brasil have done this.

forge.mil was made with CollabNet, and DoD sees the need for flexibility in the field and thus libre software wins on libre, not on cost.

The procurement process is a “waterfall” model, like when the gov builds a guided missile, but the “challenge” approach can overturn this. Must put good dataon the web in an open format. Must have a bit promotpeople know the oty is there. Sustaining the prject is another challenge, since politicians like the big splash annoucement but incremental improvements are hard to get press on. Community pressure can keep things going, an NGO non-profit custodian.

MA OpenOffice? There was initial interest but needed a specific reason. Kriss and Quinn ad a patent on the Office 2003 format. They did a thorough evaluation of all depts. A few people could keep MS office for Macros and advanced features. Most people can use OOo and ODF.

Conversion was demonstrated to save money when an auditor was brought in unusually to check and they agreed that it saved money.

MS saw that OOo lacked accessibilty features for the visoin impaired. MS got a coalition of visoin impaired people to protest OpenOffice. They didnt see they could ADD the features because its libre software.

This shows knowing the strengths and weakensses is crucial, K&Q could have preempted this objection.

It went pretty well. Eventually the state de-funded the project. K&Q left, and the IT dept said MS OOXML is an acceptedable format.

OOXML was created in direct response to the standardisation of ODF. The standardisation process was a travesty, but it proved the argument that open formats has in governments.

In 2005, Munich was prodded by the End Of Lifefor Windows NT in 2004. They did a cost analysis that showed switching costs were higher than license upgrade costs over 5 years, but they still chose libre software for strategic reaosns. They really looked DEEP, below software to the organisational behaviour.

They got high up backing, and did a 5 year cycle with 3 years for planning.

An article of this talk will be in the “Journal of Information Technology and Politics”

HOWTO:

  • emphais strategic goals
  • optain budget holders support
  • hire mangaers with deep insight into libre software
  • develop PASSION to ride out rough tpathces

Q: In Albany NY, “Open Government” is seen as publishing on the web. they dont think about libre software users. would a law help?

Archving - can the government open its own data in 50 years?

Peru drive was driven by passion for freedom and interestingly MS tried to push on rational arguments for practicalities and failed.

<h2>Freedom in Education Panel</h2>

Matt: “Freedom is taken, not given.” Deschooling! “Most learning requires no teaching.” Not ask what should someone learn, but what kind of things should we be in contact with in order to learn. Open Education Resources are about that.

Michelle: Library perspetive.

?: USG can make 15 year contracts with Microsoft. That is decided at a managerial level. High shcool teachers tying to teach students were using online collaborative tools more and more; rogue teachers would get youtube unblocked (its totally blocked in NYC schools) and use it to teach with. Paul XXX has a book “Pedagogical Freedom” and theres a conference in Palastine later this year that will talk about this a lot.

?: school management software, bedina (?)

Michelle: There were many insittuionally purcahsed iPads at a recent Librarian conference. DRM and eBooks are awful for libraries, so seeing them is sad. being really supportive of tiny movements to free software and ‘spreading the love’ is great, instead of condeming people for uneducaed decisions.

Matt: Educators often share many values of free soffware, and focusing on the educational benefits of software freedom is key. they have other things they are trying to do WITH software, that are more important than the software.

Q: Isnt their reason for using iPads, ‘ease of use’? Matt: Maybe. its a legitimate concern, But a lot of teachers dont choose their software, theit IT dept does. Q: Mkaing changing habits easy is good Matt: Yes. With shcool computers, you cant install anything, access anything, and they dont work.

Q: The read-write loop in the FS community is great; when kids say “it would be great if” or “it sucks that” then teachers can tell them they CAN interact with the people who make it and make it happen, thats really great.

Phil H: We tend to assume poeple have heard of the idea of free software. in the UK a school found kids swapping libre software and tried to stop it, published a county wide leaflet about it, and when FS people contacted them nicely, they emailed mozilla and asked them to stop because it made it hard to tell kids they cant share :)

Michelle: Librarians want to avoid DMCA Cease & Decist letters. Publiciing that libre software is available and legal to copy is needed.

Q: SO much emphaiss is put into makin things like windows that are GUI and ‘just flow’ and LaTeX helps people to participate by being very highly scriptable.

Q: Firefox Wiki has a great page on how to open it up and hack on it. Drumbeat is trying to get people into school to show they can hack on it.

Q: Apple is pushing hard into education, iTunes U for example.

<h2>John Sullivan on the FSF</h2>

FSF does a lot of positive things and some negative when they are really needed.

FSF Mission is more relevant as software controls more and more of daily live. Software in medicla devices, Pacemaker’s software has bugs. Logically it ought ot be libre for people to imrpove as their life depends on it. on the way the cabbie said that GPS companies are bribed by MacDonalds and so on to route people near their businesses in addition to the ads on their maps.

The freedoms for code are fundemental. If you cant communicate technical information if you learn it, what is left of free speech? FSF focuses on these ethical ramifications, rather than ‘free software works better, crashes less, less malware’ - and those things are a CONSEQUENCE of freedom. They are also secdonary, sometimes libre software costs more or crashses more. We should still use it because its an issue of freedom and ethics.

We promote use, documentaiton and development; especially the GNU project.

We have the Free Software Definition, a good set of tests for any program.

We have a bunch of active campaigns right now:

“Working Together For Free Software” is a new one. Historically FSF was focused on hackers who could directly contribute; this campaign is for non-hackers

Whitehouse has moved to free software, especially the website, and publicsed this with reasons aligned with the FSF, wehave profiles of people involved in things lke that. Instructions for people installing and using free software for the first time. The FSF hasnt done this before because a lot of people do it alrady; mozilla does it for FF, openoffice does it for itself.

We measure success in terms of how many people support and agree with the idea of software freedom. Not how many people run GNU/Linux. Not everyone who supports press freedom run newspapers. If they believe software freedom is important they will go to the trouble to use it, if their values are only on convenience and price they will swing back and forth between free and proprietary software. Also we’re running internship positions and doing travel funding for women to attend libre conferences.

GNU Project is a huge 27 year project, going strong. FSF handles the copyrights for GNU programmers. GNU Advisory Committee is a project to take GNU in new directions, like network services that make desktops obsolete. We also want to expand participation, modelling on the Debian community; people contribute to the overall project, not just their own, whereas GNU has program-maintainer silos.

Defective by Design is a recent high profile campaign, joint with CivicActions since 2006. It shows one kind of tactic, our campaigns have various approaches. This is about DRM. Apple dropped DRM for music but now DRM all their applications on the iPHone and iPad. Amazon’s Kindle page, there is no mention of DRM on the page. Governments should require full disclosure of their products, and so we publish logos to label products as “defective by design.” This is the most negative style campaign.

End Software Patents is a very different campaign; forming alliances with many proprietary software companies who are also harmed by software idea patents and who we otherwise oppose.

PlayOGG is making inroads with YouTube.

Free BIOS: We are moving to all our servers to this.

FSF Jobs page: We support people working on free software full time.

Donations: We run mostly on individual donations rather than corporate sponsors.

Q: Why isn’t Debian on the recommended disros list? A: 2 reasons: It distributes non-free software in main, mainly in the kernel. The linux-libre project removes proprietary parts. The thing we are looking for is a commitment to shipping only free software; its okay if it happens but is treated like a bug. This relates to the second thing, recommending proprietary software. Debian does provide easy access to non-free software, easier than the FSF is comfortable with. The core of Debian is about free software, the DFSG.

gNewSense is moving to Debian from Ubuntu to support MIPS which some libre laptop hardware uses.

Beyond Sharing: Open Source Design, by Mushon Zer-Aviv -

<h2>mushon.com</h2>


I used to develop for the web using Flash. I became disappointed when it didn’t support writing in Hebrew. I’m israeli and in 2003 I initiated a petition “The Right To Languages” against Macromedia for not supporting Right To Left languages, and it was about what the web could be. Israelis and Palestinians could join together with their shared culture. It took 7 years for Flash to support RTL languages. A friend siad, you’re asking the wrong question. Its not about how long will it take for Adobe to support us, its about, why can’t we support ourselves? I didn’t have a good answer for this, and I turned to free software.

I’ve since started the “shiftspace” free sofware project. I’m a lecturer at Parson’s and teach web design there.

I’m working on “Collaborative Futures” there, a FLOSSManuals project.

You can go straight to a solution from a problem. Or, you want wander towards it. When many people are fixing their problems, they find they walk over the same area. They can group together and solve the problem “once and for all”

Why publish free software? Its easy to do. Others can help me to get it working in a final state.

Why open the design process? Its hard. “It works for me.” is a common attitude.

Designers using libre software is a chick and egg problem. I am using Mac OS X on my Apple laptop, not Debian, I am one of the chickens. They don’t use it, so they don’t wan tto make it better, so it doesn’t improve, and they don’t use it. What makes coding and writing in a collaborative fashion is the GRANUALAR ARCHITECTURE - for coding and writing (wikis).

That allows for varied contribution: Accessible ladder of contribution, I can fix a missing comma in a wiki. History and moderation create transparency.

Stuart Hall’s 1980 idea of encoding/decoding of language, from one mind to mouth to ear to another mind. My thoughs, a rich framework of knowledge, being encoding into speech, is an encoding process.

Finding a shared language is the initial step in design; graphic, colour, layout, animation, interaction. Coding without a shared language is impossible. Setting standards for collaboration is essential. But standards is in many ways at odds with innovation, and a good standard allows for innovatoin around it.

For me free culture is more about FORKING than verbatim FILE SHARING.

WordPress’s backing company hired HappyCog to redesign the admin area for 2.5, they are one of the best high end web design firms in the world, and the wordpress community took it forward in 2.7 - screenshots to compare. 2.7 is way way more friendly and advanced than 2.5

There was a questionaire for WordPress icons, we did a student project for the 2.7 icons.

Other examples: Grids are a decades old concept in graphic design, the swiss school, and its come to web design recently. the-golden-grid, 960 gridsystem, blueprint.css - www.gridsystemgenerator.com/gs02.php

Apple is the worst for freedom, but the UI guidelines are great.

how to fix this?

Free as in price is nice but no way near enough.

We can’t expect or force the use of bad tools as an ideological statement. The two things go together, we need the best tools and a free software idea to keep with it once it is good enough to work productively with.

We want to focus on our strengths, networking in a community and collaboration. Instead of cpoying photoshop, which is trying to beat adobe at its best game, include features about how to collaborate. we know more about this.

There is some success in web design, mainly with the more code-heavy aspects.

Granualrity is key. My students USE CODE because its EASIER and SIMPLER to make granualr buildling blcoks. Having designers use VERSION CONTROL SYSTEMS is key towards becoming a hacker - Designers should be hackers, not neccessarily developers. This leads to:

Putting all MASTER files online, and using GIT and things like a libre DropBox.

Finally, language. Conducting a networked user research, and we have collaborative tools to do this. Having module, extensible design languages, that support inheritance so they can be used as building blocks, and DOCUMENTING the designlanguages. That’s to encode the designs.

Collaborative decoding; some designers are taional , UX reearch, tehchnical aspects of design, and design best practices - likein typography, a blue text underlined means a link.

I’ve been interested in Scaling Subjectivity.

sometimes this is framed as “Leadership or Openness” - funny apple mouse vs openoffice mouse slide… - and I think we can do BOTH.

Okay, my slides are up at github.com/mushon/osd- presentation

@mushon

Q: Inkscape community has designers involved in the UI and using Inkscape. A: I have been following Inkscape, its an inspiring example. I’m trying it every now and then, its very inferior to proprietary compeittion. I think they are fightig the wrong fight, adding graphic features in the paradigm of proprietary illustration programs - playing to win a frame they havent set. I think they should focus on collaboration features. Adobe Illustrator has stalled development recently. Strategically we can address it from a different angle.

Q: OpenClipArt.org is a side project of Inksacpe community. Is that where you see the collaboration aspect?

<h2>FLOSSManuals.com - Andy Oram</h2>

FLOSS Manuals has pioneered the “book sprint”

Ive tried promoting this idea at ORelly, and these sprints in 5 days make 75-150 page books. A 2nd sprint pushed the CiviCRM book to 300 pages. Its great to do something creative like writing in a lan party setting.

Q: ISBNs? A: Getting an ISBN is very cheap and easy, and then you can get your book on Amazon. Lulu.com and similar PoD places are great.

<h1>2010-08-02 Monday - DebConf Day 2</h1>

<h2>Stefano Zacchiroli - upsilon.cc/zack</h2>

Debian started 16th August 1993, a GNU/Linux that was competitive with proprietary OS, good quality, easy to install, built collaboratively by experts, and free as in freedom. There were not many other distros.

Today it was 30,000 packages. 120 ‘derivative’ distros, 11 releases, 900 packagers and 120 maintainers, and 1000sutors. We have the largest number of ports in mainstream distros, and we have 2 non—linux based ports coming. There are lots of distros today.

Other distros release more often, have more uusers, innovate more, more credit and more press… is Debian BETTER? why are you contributing? and is Debian still relevant 17 years later?

Yes, I think so.

Q: because the derivatives ARE our users. And we release 4 times a day!

Phil H: Debian does what I want. 1000 people think it does what they want enough to work on it. Even if the rest of the world changes, we’ll still be working on it.

Stanford: We wanted someone we wouldn’t consume, but we could directly contribute to.

Q: I can directly contribute to this.

MTZ: What is Debian? An OS people use directly. A platform for developers to use ot make things. A project, an activity, that people do. In each it does very well.

Q: Unlike other distros, its mainability. “Eternally regenerative system adminstraiton.” Thats under rated.

So yes, all of that.

Why is Debian better?

Quality: Package maintainers are EXPERTS. No packages are 2nd class, all packages are equal. This is shown in responses of big gov users: “We chose Debian because your packages don’t Fail To Build From Sources.” “We chose X [Debian bsaed distro] because we trust Debian package.]

Lots of technical qualities.

But a more profound philosophical reason is its firm principles: devs and users bound by the social contract. Promoting “the culture of free softare” in 1993.

I like to think of Debain as free from the bottom up. We free the software we distribute, including the firmware in the kernel, and free in our infrastrcuture. no non-free web srevices for users, and no non-free services for developers.

“Do-ocracy” in S3.3.1.1 of the constitution; a individual devloper can make any techincal ornontechnicaldecisoins with regard to their own work.

“Democracy” - S2, Each decisoin in the project is voted.

This means reputation follows wok, no benevolent dictator, no oligarchy, yes a cabal ;) but its close to a true meritocracy.

So we want Debian to Live Long And Prosper. To do this we must fix problems when they arise. #1 problem is perceived as “man power” - why other do things better. is it really the case? Sure, we could use more people everywhere. But we can also use better the man power we already have.

NMUs are a good way to collaborate, and to release in a more shared way.

the other thing is that, with computers, a single motivated individual can do WONDERS. other volunteering areas dont have that advantage.

Reduce inertia: consensus != unanimity. “talk is cheap, show me the NMUs.” Debian has both, but do-ocracy comes before democracy. “be bold. what can’t you undo? ”

More manpower can be helped by having an attractive community. folk lore is yo uneed a thick skin here. distrowatch.omc says discussion here can be “uncultured”. every time you are grumpy, fail to ack the good, pinpoint bad, fail to give creit, fail to thank people, insult someone… you kill a “lurking” potential contributor. thick skin != strong hackig skills, it means losig manpower.

Some don’t want new users, more bug reports, we “just” want full down expert DDs from day 1. free software is participatory, and involvement grows in small steps. The “universal operating system” has users everywhere, of every kind.

Some derivatives have 10x as many users as us. In an ideal world. every derivative contributor would also contribute to Debian, and every Debian patch goes upstream to original projects. So lets reach out to our derivatives. We have a ‘derivatives front desk’ to do this.

Welcomging non-DD project members. The ‘best OS’ is software, translatoins, graphic, music, etc. we can REWARD them more.

Q: DDs come from users. Also derivs with 10x the users of debian. they become devs of their deriv, and then become DDs. A: We have a flow of DDs from Ubuntu users. I dont think we should as a goal offload users to derivs. We have a responsibility to have direct users.

1030 Davis GPLv3

<h2>Bradey Kuhn on GPLv3</h2>

I can’t represent SFC, FSF, GNOME, SFLC although I have and do work for them and stand on their baords.

People hate change. Most people run stable disros. I switched back to Debian last year, blogged about this, and I originally switched because Debian stable was too old. I prefer to run stable whenever I can. I was at a USENIX conference talking to Miguel de Icaza, and he said “your not running woody, you’re living in the past!” ;)

So, no one should be FORCED to upgrade anything. an upgrade is a trade off between bugs fixed and new features, and stability and familiarity. when you are sick of the bugs.

licenses are like this; we find bugs and fix them. we think of useful new features, we add them. The tough part is that legal codes have so much ‘weight.’ And thanks to disney and others, copyright is a powerful and frightening tool. copyleft turns that weapon around to free people instead of restrict them.

So what bugs do GPLv2 have?

Distributos can REFUSE online distrobution of source. under v2, they can do this, put the binaries on the web and force you to write in. v2 talks about a software “medium” - that doesnt men the network. and they want a reasonable fee for posting you a CD. some distributors do this to just annoy people. they make improvements, they sell the binaries, and you can only get the source if you buy the download and then pay for a source CD.

In v3 S6b and S6d discuss network distribution. 6b takes care of the silly ‘online binaries, written offer’ thing. 6d makes ‘side by side’ more explicit. so that’s 2 bugs closed.

v2 is naieve about patents. most copmanies with patents agggressively enforce them, even if they PRETEND they dont. patent shake downs happen a lot in back rooms and never get any publicity. we have industry wide initiatives but some only want “kernel and c library safty only” or “only the really bad ones”. RMS has a nice essay, “Patent reform is not enough” on that. patents kill the commercial side of libre software. v2 has ‘magical sectoin 7’; the patent license is only IMPLICIT. RMS saw getting a patent judgement

USA-centric. lawyers say “the language does contempplate the internaitoal nature.”

the termination cluase is nasty. the 60 day automatic forgiveness if no one complains, and 30 days after the first complaint from a copyright hoder, is something free software busiensses ought to be running to.

compatibility. permissoin to combine 2 works under different licenses. Apache 2.0 is a great license but not GPLv2 compatible. v3 works hard to approach universal compatiblity with permissive licenses. Artistic 2.0, Apache 2.0, and others are v3 compatible.

exceptions are tricky to do. v2 has no exceptoins for this. we all did them anyway, they were clunky. GCC had a bunch of different ones. in v3, exceptoins are read as a text of the license. it allows “license hacking”. and if you screw up, by making it more restrictive, then v3 allows users to set it aside. Eg, the pacifist licenses. Under GPLv3, if the exception is like that, users can rewrite it to be good.

it ignores embedded software. this was the center of v3 controvery. an EARLY draft ws very highlighted, and the final draft is very watered down. DRM provisoins is onlhy for ‘consumer products’ and it ONLY says the vendor mst tell you how to jailbreak the device. but the vendor can void your warantee immediately. you can be boted off their network; if you modify the softwar to make trouble on their network, they can boot you off. Google’s distribution of HTC Dream and Nexus One HAVE NO Gplv3, but they are v3 compliant. Because Nexus One shows you that Google CAN comply with GPLv3 in the USA and Europe, the regulators don’t have a problem with alowing firmware mods. The Droid X which is totally locked down got jailbroken immediatley anyway.

“Mobile Exception” - its possible but no recommended, and evne if i was forced to choose between GPLv2 and GPLV3+MobileException, I’d chose the later.

LGPLv3; there is no reason not to switch. That its GPLv2 incmpatible is fixable with dual GPLv2+LGPLv3-or-later licensing. This is a ‘soft’ way to begin GPLv3 adoption. Getting away from LGPL2.1 is important.

and there is no web services clause. this was meant to be in the main text, and Google was the main force saying they would fork EVERY GPL project if we did that. so its in the AGPLv3. the basic premise is that if someone can legitimately use it, they must have acess to source. yes, AGPL need a little more care, i have yacto-reader which is a debian package that’s AGPL compliant in a debian package that complies by default.

Thanks debian because you and downstreams have DEFAULTED to GPLv3-or-later for all GPLv2-or-later stuff.

Q: Afferro based on publiv performance? A: No it uses the right to modfy to put this requiremnt to distribute source to network users.

Dave: If the exception DOESNT be too restrictive, can it also be removed? A: Yes you can always pare back

Dave: How do we write a new exception - for fonts document embedding? A: Speak to me :)

Q: if you have 2 programs, one GPL+exceptoin and one GPL, they are not compatible. BDale: adding an exception makes 2 licenses, is the view of our legal team. Q: Me and fontana identica streams talk about requirement

Dave: GPLV4?

A: I have 4 bugs for GPLv3, so GPLv4 will start when its like 12.

Dave: why wasn’t there a GPL2.5 in 2002?

A: RMS wanted to do GPL2.2 in 2002,and it would have affero in the clause. we urged him not to do this and do the GPLv3 process instead.

<h2>Michael Bank mbank@debian.org on GNU/HURD</h2>

It works, on some hwardware and in qemu.

<marcus> Jeroen: you are a Hurd developer. Being insane is part of the public image.

Good recent summary on the H blog.

Thomas Bushnell <bsg> and others including RMS did original design. HURD isn’t akernel, its a userspce system that needs a microkernel. Mach was chosen, although Thomsa didn’t like it thatmuch. Ronald McGrath worked on it with him. RMS didn’t code on the core.

Samuel Thibault showed up and fixed just about everything; imeplemtned TLS, ported GNU Mach to Xen and implemtned PAE, fixed many crashes, ported Xorg, run GSoC projects, and pushed the design concepts.

Thomas Schwinge pushed the GNU infrastrcutre side, getting new committers approved and migrated to git.

1700 Davis Ubuntu

<h2>Mark Shuttleworth - Unity</h2>

Unity is a culmination of several year’s work. There has been an explosion of interest in GNU/Linux on netbooks. Hardware vendors want want simplied UIs. I’m now not the CEO and I work on parts I like, including Unity’s design. London design team push this; aytana is the umbrella project for this.

Unity originates from considering the UI of game consoles; computers as devices you use for a limited range of tasks. Bigger icons (because touch UI was seen as a future path). The categories are from the typical GNOME applicatoins menu. Places also mapped from GNOME. But we just present the pieces they are interested in. Its been picked up in a few places, JoliCloud and others. For the next revision, we want to relax it a bit; Places became an item in the categories list.

Starting quickly was a real priority. It would be for dual boot preinstalls, so people can become familiar with a free alternative. But no Add/Remove, nothing for interacting with files in the traditoinal way. So we did more work on a “dash”, a full screen place for dealing with lots of files. This was done and went into Maverick a month ago.

In the design process we embraced our constraints; maximising vertical picxel space, using maximised windows, and building for touch as future devices will be have that input.

Our sources of inspiration: console games have no constraints, nothing is “mission critical” unlike GNOME and Linux kernel which must not break. we have a light theme for style and feeling, the idea of light coming through the screen, and use alot of OpenGL and accelerated hwardware. We want search for everything with GNOME Do and Google.

We’ve decided to adopt a “global menu”, for fsater access on small screens and verticla space savings. We build a DBUS protocol and plugins for GTK and QT to export a program’s menu, so a program feeds it to be rendered by Unity. XUL and OpenOffice don’t use GTK or QT so that work is yet to come. This has been published as a freedesktop.org standard. We’ve done a lot of work for 10.10 Ubuntu release to standardise menus across applications. We also have a GNOME Panel applet that makes testing this feature very easy on regular GNOME desktops.

We also have menu indicators. GNOME is murky, KDE is cleaner. left or right click, respond to move movements, anything could be done in a custom way. Now everything in the top right is one consistent menu. this benefits accessibilty.

Ayatana has a goal for ‘persisntent awreness’ with fewer and classier indciators.

“Bamf” is a new API for knowing what applications and windows are there.

Summary: Design discussion is on ayatana list, hosted on launchpad.net, and shipping in Ubuntu 10.10 Netbook Edition.

Q: Chrome cross over? A: Google started with Ubuntu and moved to Gentoo Portage. There hasn’t been any cross over in terms of UI either.

A: Apple create desire, we don’t Q: I think we’re in a positoin to be BETTER THAN APPLE within 2 years.

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!