9
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AUTOSAR CountdownAdvent Calendar 2022

Day 16

「@vvakame オープンソースプロジェクトで上手いことやってくための10の方法」を拝読し

Last updated at Posted at 2019-05-24

@vvakame オープンソースプロジェクトで上手いことやってくための10の方法
https://qiita.com/vvakame/items/6dd8937806e5fab5b0b7

そ、そ、そうなんです。
しっかりとした考え方。

同じことを、いろいろな人が、いろいろな表現で伝えると、伝わる人もいるかと思い書き始めます。

同じことを考えてみて、自分の経験上または理念上の事項を記録します。

原文のみだし。

こまけぇことはいいんだよ!まずはやろう!
英語を使う
敵はどこにもいない
相手に敬意を払う・おもてなしの心
利用者を守る
GitHubの仕様をよく理解する
ローカルルールに従う
人には好み、主義・主張がある
やりたいようにやる
DefinitelyTypedでは

最後の固有な項目以外はそのままの文言で、順番は、自分が説明しやすいように並べ替える。

こまけぇことはいいんだよ!まずはやろう!
やりたいようにやる
相手に敬意を払う・おもてなしの心
敵はどこにもいない
利用者を守る
人には好み、主義・主張がある
英語を使う
ローカルルールに従う
GitHubの仕様をよく理解する

いくつかのオープンソースでは、公共の福祉に反しない限り、特定の国の法律や、オープンソースの習慣でないものに縛られることはないかもしれない。

村社会のルールは、その村に住みたいと思う人には押し付けてもいいかもしれない。

オープンソースは村社会ではなくないのだろうか。公開なのだから。

公開算譜(open source)は楽しいの (just want to have fun.)
https://qiita.com/kaizen_nagoya/items/4368f223940794ac2937

から参照しました。

オープンソースで習う共有, 発散, 収束, 決定のいらない仕事の進め方
https://qiita.com/kaizen_nagoya/items/015a64aa348a1e354f63

<この項は書き書けです。順次追記します。>

こまけぇことはいいんだよ!まずはやろう!

DoCAPという言葉があります。Do Check Action Planの略号です。
まずやろう!

オープンソースだから、まずコンパイルする。
コンパイルエラーがなかったらコメントでもいいからソースコードに加筆して保存する。

プログラマの教育で、午前から始まるのに、午前中に一度もコンパイルしない教育は捨てだと思っている。
じゃ、受講しないのかというとそうではなく、自分でかってにコンパイルできる環境を作って、午前中に少なくとも一度はコンパイルする。
お昼休みに、コンパイルエラーの質問ができて、午後にコンパイルエラーが取れたら作業が進む。

やりたいようにやる

やるときには、やる人が、やりたいようにやるのが基本。

別の方法や、別の構造がよければ、その人がそういうものを書けばいいだけだから。

オープンソースで精神的に疲れるのは止めよう。
オープンソースで人のことに文句をつける人がいるかもしれない。
文句つける暇があったら、文句をつけなくてもよいように改良すればいいだけ。
環境でも、成果でも。

相手に敬意を払う・おもてなしの心

最初に書いた人には、十二分に敬意を払おう。
自分なら別の方法や、別の構造を取る場合でも、
特許権を主張されていないかもしれないし、なんらかの犠牲に成り立っているかもしれない。事情がわからないことには、敬意を払うと、経緯を教えてもらえるかもしれない。

まず敬意を払って、意図が理解できる糸口を探すとよいかも。

利用者の方には、おもてなしの心が大事。
自分の書いたものをつかってもらえるなんて。
罵倒されても、そっとお茶をさし出そう。
反論する必要はない。やりたい人が、やりたいようにやればいいのだから。

文句を言う暇があったら、コード書きゃいいのだから。
お茶をそっと出して、お話しのコードはいつごろご提示いただけそうでしょうかとか。

敵はどこにもいない

やりたいことをやっていて、他の人がやるのを妨げないのだから、敵がいるはずがない。

例えば、Microsoft。1980年代初頭は、日本でもMicrosoftのXENIXで、現在のオープンソース系のコードを書いて公開する人たちがいた。当時、UNIXの商用販売数ではMicrosoftが一番だったらしい。

XENIXの上でいろいろ作業した後に、BSDで作業し、Linuxで作業するようになったりした。
Microsoftがオープンソースへの入り口だって知ってましたか。

利用者を守る

C言語規格(JIS X 3010)の解説(英文ではRationale)に
http://www.open-std.org/jtc1/sc22/wg14/www/C99RationaleV5.10.pdf

既存のコードを救うことが重要であり、既存の処理系を保護することは、重要視しない。
Existing code is important, existing implementations are not.

C言語だから、既存のコードとは、C言語の利用者が書いたコードのこと。
一部の人に評判の悪い、C言語ですら、利用者を守ることを第一の原則にしている。

人には好み、主義・主張がある

CPU, OS, 言語、通信、DBなど、人には好み、主義・主張がある。

その好み、主義・主張をソースコードで提案すればよい。

英語を使う(use English)

利用者の最大公約数的言語は、英語。
ひとまず、英語を使うことに抵抗がないとよい。

プログラミング言語の8割以上は英単語から成り立っている。
プログラミング言語を書くように、英単語を読み上げればいい。

例えば、COBOLだったら、そのまま読み上げれば英語として分かるはず。

国際規格のエディタなどでイギリス人の方と組んで仕事をしていた時、
彼女から私が英語を直すから、あなたは技術的なことを直してと言われた。

ええと、私が直しているのも英単語の羅列で、私は英語だと思っているのですが、、、。
ちなみに、これらの会話は全部英語です。

ローカルルールに従う

ソフトの種類、分野によっては、それぞれ制約条件がある。
制約条件が解決できる見通しが見えない間は、ローカルルールに従うとよい。

日本語情報処理のプログラムであれば、「英語を使う」の原則にこだわらずに、日本語を使った会話があってもよい。

日本語情報処理の一番良い書籍は、英語で発行されました。
日本語情報処理.png
https://www.amazon.co.jp/dp/4890527087/

日本人によらない、日本人のための、日本語によらない日本語の本。
英語でこの本がでたときは衝撃的だった。日本人は、EUCだとシフトJISだのについてつまらない議論をしているときに、日本人以外の人により本質的な解説をされてしまったような気がした。
ps.
その後の展開としては、日本人による日本人のための漢字のフォントである文字鏡フォントがでて、日本の先進性が確保された。

GitHubの仕様をよく理解する

本当に大事だと思う。まだ使いこなせていません。ごめんなさい。

最近、Youtubeで勉強しています。
https://www.youtube.com/watch?v=SWYqp7iY_Tc&list=RDQMD9DH5noB57Y&start_radio=1

Jenkinsとの連携なども挑戦しています。

TOPPERSでは

TOPPERSまとめ #名古屋のIoTは名古屋のOSで
https://qiita.com/kaizen_nagoya/items/9026c049cb0309b9d451

自分は主に試験を担当。試験の結果、こう書き直すといいかもという案は、一つの関数の中の書き換えで済む場合は書く。そのまま採用された場合には、自分のコードも残ってる。

TOPPERS のAUTOSARへの貢献(更新中)
https://qiita.com/kaizen_nagoya/items/d363cf06e2176207b391

「風をあつめて」を計画書として事業展開してみるhttps://qiita.com/kaizen_nagoya/items/92365c542714f27e5658

AUTOSAR教材作成3年計画https://qiita.com/kaizen_nagoya/items/84d8f1ecbbe7af7803af

4つのAdvent Calenderに参加して データ分析の基礎
https://qiita.com/kaizen_nagoya/items/92eabbc62764312be440

参考資料(reference)

新人の方によく展開している有益な情報
https://qiita.com/kazuo_reve/items/d1a3f0ee48e24bba38f1

マネージャー・リーダーの私にとって有益な知見が得られた書籍
https://qiita.com/kazuo_reve/items/6976029e72763ea73245

自己参照

オープンソース計算機模擬試験による安全関連系の設計と分析。安全(23), AUTOSAR(37)
https://qiita.com/kaizen_nagoya/items/a317bf6570cb3bdf185b

アジャイルサムライ & 公開算譜は機敏だ(An Open Source Project is Agile)GitHub with Docker。仮説(51)
https://qiita.com/kaizen_nagoya/items/5dd49a046b5991af3a5e

公開算譜は機敏だ。前史。
https://qiita.com/kaizen_nagoya/items/2f6e436e73004b2b7c33

公開算譜は機敏だ。後書き
https://qiita.com/kaizen_nagoya/items/89de41e1d4904cdac956

オープンソースのTOPPERSプロジェクトのSWOT分析。仮説(81)
https://qiita.com/kaizen_nagoya/items/102c8b6b2ff7dfd920c9

TOPPERS のAUTOSARへの貢献(更新中), AUTOSAR(15)
https://qiita.com/kaizen_nagoya/items/4614c04cfff70a241f77

TOPPERS の AUTOSAR への貢献 II (改定中)
https://qiita.com/kaizen_nagoya/items/4614c04cfff70a241f77

Ethernet 記事一覧 Ethernet(0)
https://qiita.com/kaizen_nagoya/items/88d35e99f74aefc98794

Wireshark 一覧 wireshark(0)、Ethernet(48)
https://qiita.com/kaizen_nagoya/items/fbed841f61875c4731d0

線網(Wi-Fi)空中線(antenna)(0) 記事一覧(118/300目標)
https://qiita.com/kaizen_nagoya/items/5e5464ac2b24bd4cd001

C++ Support(0) 
https://qiita.com/kaizen_nagoya/items/8720d26f762369a80514

Coding Rules(0) C Secure , MISRA and so on
https://qiita.com/kaizen_nagoya/items/400725644a8a0e90fbb0

Autosar Guidelines C++14 example code compile list(1-169)
https://qiita.com/kaizen_nagoya/items/8ccbf6675c3494d57a76

Error一覧(C/C++, python, bash...) Error(0)
https://qiita.com/kaizen_nagoya/items/48b6cbc8d68eae2c42b8

なぜdockerで機械学習するか 書籍・ソース一覧作成中 (目標100)
https://qiita.com/kaizen_nagoya/items/ddd12477544bf5ba85e2

言語処理100本ノックをdockerで。python覚えるのに最適。:10+12
https://qiita.com/kaizen_nagoya/items/7e7eb7c543e0c18438c4

プログラムちょい替え(0)一覧:4件
https://qiita.com/kaizen_nagoya/items/296d87ef4bfd516bc394

一覧の一覧( The directory of directories of mine.) Qiita(100)
https://qiita.com/kaizen_nagoya/items/7eb0e006543886138f39

官公庁・学校・公的団体(NPOを含む)システムの課題、官(0)
https://qiita.com/kaizen_nagoya/items/04ee6eaf7ec13d3af4c3

プログラマが知っていると良い「公序良俗」
https://qiita.com/kaizen_nagoya/items/9fe7c0dfac2fbd77a945

LaTeX(0) 一覧 
https://qiita.com/kaizen_nagoya/items/e3f7dafacab58c499792

自動制御、制御工学一覧(0)
https://qiita.com/kaizen_nagoya/items/7767a4e19a6ae1479e6b

Rust(0) 一覧 
https://qiita.com/kaizen_nagoya/items/5e8bb080ba6ca0281927

小川清最終講義、最終講義(再)計画, Ethernet(100) 英語(100) 安全(100)
https://qiita.com/kaizen_nagoya/items/e2df642e3951e35e6a53

文書履歴(document history)

ver. 0.01 初稿 20190524 午前
ver. 0.02 追記 20190524 昼
ver. 0.03 追記 20190524 午後
ver. 0.04 誤植訂正 20190524 夕
ver. 0.05 URL等追記 20210501
ver. 0.06 みさし補足 20210905
ver. 0.07 公開算譜(open source)は楽しいの (just want to have fun.)から参照 20211024
ver. 0.08 表記補正 20220421
ver. 0.09 タグ追加 20220611
<この記事は個人の過去の経験に基づく個人の感想です。現在所属する組織、業務とは関係がありません。>

このエントリーをはてなブックマークに追加
http://b.hatena.ne.jp/guide/bbutton

さいごまでおよみいただきありがとうございました。
https://qiita.com/kaizen_nagoya/items/3387ded65f55a8303817

最後までおよみいただきありがとうございました。

いいね 💚、フォローをお願いします。

Thank you very much for reading to the last sentence.

Please press the like icon 💚 and follow me for your happy life.

9
8
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?