Suddenly, I ask 4 questions.
突然ですが,4の問いを投げかけます。
Q.1 What's the date?
Q.1 何年何月何日でしょう?
03/11/2017
- Which is the answer?
-
- 2017年03月11日(March 11th, 2017:U.S. format)
- 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 姓はどちらですか?
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 数多のライセンスの違いを理解できますか?
- GNU: GPL 1, 2, 3, AGPL, LGPL 2.0, 2.1
- MIT, BSD, ZLib
- Foundation: Apache Software License 1.0, 1.1, 2.0, Mozilla Public License 1.0, 1.1, 2.0, Netscape Public License 1.0, 1.1, W3C Software Notice and License
- Software specific: Eclipse Public License, VIM LICENSE, LaTeX project public license (LPPL) 1.0, 1.1, 1.2, 1.3, 1.3a, 1.3b, 1.3c
- Artistic License 1.0, 2.0
- Language: Python Software Foundation License, Ruby License, PHP Lincense
- Others: Creative Commons, GFDL, ODbL, Web translation
- 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
-
- Date time: ISO 8601
- Country: ISO 3166-1
- Name: Government policy(文部科学省の指針)
- 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原理主義)
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!
デジュレ標準に従うことで,時空を越える力を手に入れよう!