The reason we should conform to de jure standard

デジュレ標準に従うべき理由

妹尾SENOO Ken

🖂 contact@senooken.jp

GNU Social https://social.senooken.jp/senooken

オープンソースカンファレンス 2017 Tokyo/Spring

URL: https://senooken.jp/public/20170311/

Suddenly, I ask 4 questions.

突然ですが,4の問いを投げかけます。

Q.1 What's the date?

Q.1 何年何月何日でしょう?

03/11/2017

Which is the answer?
  1. 2017年03月11日(March      11th, 2017:U.S. format)
  2. 2017年11月03日(November 3rd, 2017:England format)

Q.2 What is represented?

何が表現されていますか?

OSC17j

Point
OSC
Open Source Conference
17
17th or 2017?
j
Japan or Jamaica or Jersey or Jordan or something?

Q.3 Which is family name?

Q.3 姓はどちらですか?

Cao Cao

Portrait of Cao Cao for king of old Chinese
(中国三国時代の魏王「曹操」)

Which column (1st Cao or 2nd Cao) is the answer?

Other example
  • Middle name: Donald E. Knuth
  • German preposition: John von Neumann
  • Generational suffix: John F. Kennedy, Jr.


Q.4 Can you understand differences of licenses?

Q.4 数多のライセンスの違いを理解できますか?

Point
  • Copyleft?
  • Version?
  • Compatibility?
  • Distribution?
  • Credit?

What is problem?

どういう問題が起こるか?

Example of problem
  • Depend on person, organization, machine, software
  • Communication mistake

Source of trouble or bug!

How should we be better?

どうすればよいか?

Answer

Conforming to standards

標準に従うこと

Example
  1. Date time: ISO 8601
  2. Country: ISO 3166-1
  3. Name: Government policy(文部科学省の指針)
  4. License: Creative Commons

Q.1 What's the date?

A.1 ISO 8601:2004 - Data elements and interchange formats -- Information interchange -- Representation of dates and times

×:03/11/2017

○:2017-03-11

Adopting Standards
  • ES2016 parserable
  • W3C HTML 5 time element conformed
  • POSIX date time format

Q.2 What is represented?

A.2 ISO 3166 Country Codes

×:OSC17j

○:OSC2017JP

Q.3 Which is family name?

A.3 Government policy(文部科学省の指針)

したがって、日本人の姓名については、ローマ字表記においても「姓―名」の順(例えばYamada Haruo)とすることが望ましい。なお、従来の慣習に基づく誤解を防ぐために、姓をすべて大文字とする(YAMADA Haruo)、姓と名の間にコンマを打つ(Yamada,Haruo)などの方法で、「姓―名」の構造を示すことも考えられる。
(2012-04-01)日本人名のローマ字表記について|トピックス|JFA|日本サッカー協会国際社会に対応する日本語の在り方(答申)(抄):文部科学省
Cao Cao CAO, Cao
Ken Senoo SENOO, Ken
Donald E. Knuth KNUTH, Donald E.
John von Neumann von Neumann, John
John F. Kennedy, Jr. Kennedy, Jr., John F. Kennedy

Q.4 Do you understand differences of licenses?

A.4 Creative Commons

CC0

Advantage
    Most legal
    CC0 is the best way for license abandomnemt.
    合法的にライセンスを放棄することに関して最強
    Perfect compatibility
    CC0→any other license (GPL, MIT, ...) is OK.
    CC0は追加制限一切無しで任意のライセンスへ取り込み可能
    Not limited source code
    Usage is not limited source code.
    プログラムのソースコードに限定されない

What is Standard?

 MEASUREMENT [countable] a fixed official rule for measuring weight, purity, value etc
standard | meaning of standard in Longman Dictionary of Contemporary English | LDOCE

1 判断のよりどころや行動の目安となるもの。基準。「―に合わない」
ひょうじゅん【標準】の意味 - goo国語辞書

De Jure Standard vs. De Facto Standard

デジュレ標準 vs. デファクト標準

De Jure Standard: practices that are legally recognized by official laws.

デジュレ標準:公的な組織や団体により作られたルール。世界共通。

De Facto Standard: convention that has achieved a dominant position by public acceptance or market forces

デファクト標準:市場や独占により形成されたルール。特定組織・地域・文化特有

Example of Standard

De jure Standard: ISO, JIS, W3C, Ecma, RFC, IEEE, POSIX

De facto Standard: MS Office, TeX, AutoCAD DXF,  feature phone

Risk of De Facto Standard

Dependency
It depends on specific organization, software, implementation.
特定の組織,ソフトウェア,実装に依存。

 

Unsteady
It might be unsteady and incompatible update might be coming.
不安定だったり,非互換性の更新がやってくるかもしれない。

 

End of Support
If support is discontinued, it is the end.
サポートが打ち切られたらおしまい。

 

The reason we should conform to de jure standard
デジュレ標準に従うべき理由

Exchangeability(交換可能性担保)

Advantage from conforming de jure standard

デジュレ標準に準拠することで得られるもの

Power of getting over time and space

時空を越える力


Time and Space

時間と空間

Time: when exchangeable implementation keep being  supported

時間:代替実装がサポートされる限り利用可能

Space: where exchangeable implementation exist environment

空間:代替実装が存在すれば利用可能

The more we conform to de jure standard, the more we get availability.

デジュレ標準に皆が準拠すればするほど利用可能性が向上

POSIXism: POSIX fundamentalism(POSIX原理主義)

@shellshoccarjpn

POSIXism(POSIX原理主義)

Software developing method for high compatibility and durability (like XP, agile)

ソフトウェアに高い互換性・持続性を実現する開発方法(XPやアジャイルのイメージ)

Conforming to de jure standard and keeping exchangeability, then performing compatibility and durability.

デジュレ標準に準拠し,交換可能性を担保することで,互換性・持続性を実現。


POSIXism(POSIX原理主義)

3 Guidelines for POSIXism
Exchangeability(交換可能性担保)
Developing software with working more than 1 implementation
複数のコマンド・実装での動作を確保できるように開発
Conforming to POSIX(POSIX準拠)
Shell script and C99 programing with conforming POSIX
POSIX規格に極力準拠したシェルスクリプト・C99によるプログラミング
Conforming to W3C(W3C準拠)
HTML+CSS+JavaScript developing in web apps with conforming W3C or Ecma
Webアプリにおけるクライアントサイドの開発ではW3C勧告ECMAに極力準拠

Archievement(実績)

Shell script with conforming to POSIX(POSIX準拠シェルスクリプト)
Twitter client: Kotoriotoko(小鳥男)
General purpose data parsers (CSV, XML, JSON)
Web app with conforming to W3C(W3C勧告準拠Webアプリ)
"Metropiper" for train aproaching information web app.
接近情報表示プログラム「メトロパイパー」
Publication (paper, book, slide)(出版物:論文,本, スライド)
 

Conclusion

De jure Standard vs. De facto Standard.
デジュレ標準とデファクト標準が存在する

De jure Standard gives us high compatibility and durability.
デジュレ標準は高い互換性と持続性をもたらす

POSIXism: Method for focusing on exchangeability
POSIX原理主義:交換可能性に着目した開発手法

Let's get power of getting over time and space!

デジュレ標準に従うことで,時空を越える力を手に入れよう!