libreofficeコミュニティに不具合修正パッチを送ってみた
DESCRIPTION
第1回徳島LibreOffice勉強会で発表した資料ですTRANSCRIPT
1LibreOffice Productivity Suite
LibreOfce コミュニティに不具合修正パッチを送ってみた
Tomofumi Yagi <yagitmknada[at]gmail.com>2014- 5-31 第 1 回 徳島 LibreOffice 勉強会
2LibreOffice Productivity Suite
自己紹介とある地方自治体のシステム管理者その前は、組み込み系開発者その更に前は、地方の小さな会社のシステム管理者兼技術系何でも屋さん業純粋なユーザーとも言えず、かと言って開発者というのも違う気がする中途半端な人
3LibreOffice Productivity Suite
今日お話する内容
不具合修正パッチを送る動機についてパッチを送ってみた:準備編パッチを送ってみた:送付編自分でバグ修正パッチを送ってみてわかった事
4LibreOffice Productivity Suite
今日お話しない内容
LibreOfce内部のアーキテクチャ開発環境の整え方Git等の開発ツールの高度な使い方デバッグ技法
...
本日は、高度にテクニカルな話はありません。ごめんなさい
5LibreOffice Productivity Suite
不具合修正パッチを送る動機について
とにかく LibreOfceのバグを直したい!! (1/4)
プライベートでも仕事でも LibreOfceを使っていますWriter、 Impressが主使っていて、稀にどうしても我慢ならないバグがある最近だと「 Bug 73891 - UI color panel does not show the actual color 」
最後に選んだ色、今選択している文字の色がパレット上で示されないバグ
とにかく LibreOfceのバグを直したい!! (2/4)
バグ報告をしても、なかなかバグが直らない時がある世界中から山のようなバグ報告が寄せられているため、自分のバグ報告が埋もれてしまうことがある (? )コア開発者 (LibreOfce開発の中心的開発者。仕事として LibreOfceの開発をしているケースが多い )は、コミュニティ全体にとって優先度が高い仕事から行うバグ修正も、クラッシュ、セキュリティ対策等の深刻なバグから対応する
LibreOfficeは、深刻なバグの修正は凄く早いと思います
自分の報告したバグ修正の優先度は必ずしも高くないリソースは凄く限られているので、深刻でないバグ修正は後回し
とにかく LibreOfceのバグを直したい!! (3/4)
世界中から寄せられるバグ報告の山についてMAB(Most Annoying Bugs) … 最も厄介なバグ下は LibreOfceのバグ管理システムから抜粋。これは氷山の一角 ...
バグ管理システムから届くメール ([email protected]メーリングリスト )、最近の 5ヶ月弱で 2万 8千通以上 ...
LibreOffice 4.2のMAB 192個 (まだ増えます )
とにかく LibreOfceのバグを直したい!! (4/4)
【結論】自分で見つけたバグは自分で直してみよう!DIYの精神 (? )でパッチを書いてみるバグ報告に、自分が書いたパッチを添付するパッチを提示してコア開発者の手間を省く代わりに、自分の直して欲しいバグ修正の優先度を上げてもらう意図
自分が書いたパッチを LibreOfceコミュニティに送ってmasterに取り込んで貰えれば更に嬉しい
門外漢がいきなりバグを直せるか? (1/2)
明らかに壁がある (自分の場合 )世の中には LibreOfce(やOpenOfce.org)の開発にスッと入っていける人もいるみたいだけど、自分の場合は残念ながらそうじゃなかった。数百万行規模のソースコードの中で迷子に ...
巨大なマルチプラットフォームの開発プロジェクト内部のアーキテクチャやデータ構造がわからない ( 土地勘がない上に地図がない状態 )
始めて触れる概念やツールGit、GerritによるコードレビューやCI、ユニットテスト、タイムベースリリース、 etc...
門外漢がいきなりバグを直せるか? (2/2)
資料はあるけど ...例えばCode Overview
無いよりはずっとずっといいしかし、もう少しヒントが欲しい ...
Easy Hacksは? (1/2)
LibreOfceと言えば Easy Hackshttps://wiki.documentfoundation.org/Development/Easy_Hacks
Easy Hacksについて「新規貢献者の方々への敷居を低くするために, LibreOfceチームはイージー・ハックのリストをまとめています. この目的は,最初のタスクを見つけ出しやすくすることです.」
Easy Hacksは? (2/2)
自分の場合は Easy Hacksでも躓いた ...orzSkill Levelを目安に探してみたものの、即座に手を出せそうなものを見つけられなかったたとえばBug 35862 -"Increase font" and "decrease font" could work even if the selection contains... なんかは面白そうだけど手が出ない ...
自分には色々と足りてないスキルや知識がありそうだが、残念ながら打開策が見つからないし、聞くアテもない
どこかに突破口はないか?まだ諦めたくない ...
LibreOfceのビルド&ビルドエラー解消で経験を積む (1/3)
EasyHacksより Easyなタスク= ビルドビルド→ソースコードから LibreOfceの実行ファイルを作るEasy HacksのGetting Startedの最初にある「 Build LibreOfce」の部分「 fnd something fun you want to fx」の前にある (! )
開発に参加するための基本中の基本スキルEasy HacksのGetting Started
ココ
LibreOfceのビルド&ビルドエラー解消で経験を積む (2/3)
ビルド環境を構築して、 LibreOfceをひたすらビルド1日〜数日おきにmasterをビルドする
ビルドエラーが出たら、ビルドを通すために自分でエラーを修正してみるビルドのどのフェーズでエラーが出たか?どのモジュール、どのソースコードでエラーが出たか?何が原因でエラーになっているのか?どのコミットが原因でエラーが出たか?どこを修正すればビルドを通す事ができるか?他の人はどのように修正したか?コミットの内容を調べる
ビルドエラーの修正を繰り返すことで、 LibreOfceのビルドシステム、内部構造、開発ツール類の知識を蓄積する門外漢でも、だんだんと LibreOfceのソースコードが読めるようになる
LibreOfceのビルド&ビルドエラー解消で経験を積む (3/3)
ビルドエラー解消のためのパッチをmasterに取り込んで貰うコミュニティの様子を知るパッチを送付するときに使うツールや作法に慣れる
コミュニティに貢献しつつ経験を積む最終的に、自分が直したいバグが自分で直せるようになることが目標
17LibreOffice Productivity Suite
パッチを送ってみた:準備編まずパッチを送るための環境を整える
全体像
①LibreOfceをソースコードからビルドする環境を整える②Gerritが使えるように設定する③ライセンス宣言を行う
①LibreOfceをソースコードからビルドする環境を整える
資料①Linux
「 Linux環境で LibreOfceをビルドしてみようかね 」小笠原氏http://www.slideshare.net/naruoga/libreofcelinux?from_search=12
②Mac「Mac OS X での LibreOfce ビルド報告Ver.2」 testnoda 氏
http://www.slideshare.net/testnoda/lib-o-buildmacosx20140210
③Windows「 LibreOfceをWindows上でビルドする」拙作
http://www.slideshare.net/tomofumiyagi/libreofce-buildytmkndshortver
②Gerritが使えるように設定する (1/13)
Gerritって?LibreOfceの開発で使われるオープンソースのパッチレビューシステム
Webベースhttps://gerrit.libreoffice.org/
Gitと連携 (Gitは LibreOfceの開発で使われるバージョン管理システム )Android(AOSP)等の開発で使われている
コミット権限を持ってない開発者は、Gerritのレビューを通じてパッチを取り込んで貰うか、本家開発メーリングリストにパッチを送って取り込んで貰う必要がある
Gerritを利用しましょう
②Gerritが使えるように設定する (2/13)
Gerritの画面 1
②Gerritが使えるように設定する (3/13)
Gerritの画面 2
②Gerritが使えるように設定する (4/13)
TDF Wiki「 Setting yourself up for gerrit」に従って設定を行う
https://wiki.documentfoundation.org/Development/gerrit/setup「 ./logerrit setup」を実行しますメッセージに従ってパスフレーズ等を入力します
;; Gerritのセットアップスクリプトを実行します$ ./logerrit setup It appears that you have no ssh setup, running ssh-keygen to create that:
Hit enter to generate an ssh key - you will need to enter a pass-phrase
./logerrit: 87: read: arg countGenerating public/private rsa key pair.Enter passphrase (empty for no passphrase): Enter same passphrase again:
;; メッセージに従ってパスフレーズ等を入力します...
②Gerritが使えるように設定する (5/13)
実行が終了したら、画面に表示された公開鍵をコピーしておきます
GerritのWeb ページ上でコピペする必要があるため...Please go to https://gerrit.libreoffice.org/ and:- press the 'register' button in the top right corner- after login set yourself a username (its recommended to use your IRC-nick)- paste the key below into the 'Add SSH Public Key' box.
ssh-rsa ここに公開鍵の内容が表示されます ................................................................................................................................................................................................................
Note that you need to register additional email addresses, if you want tocommit from them. Additional emails must be confirmed with repling to theinvitation mail it sends you.
Which user name did you choose? yagimAutomatically creating your ssh configTo see if your setup was successful, run './logerrit test' then.$
②Gerritが使えるように設定する (6/13)
https://gerrit.libreoffice.org/をブラウザで開き、「 Register」をクリックします
②Gerritが使えるように設定する (7/13)
OpenIDをサポートしたアカウント (Google Account等 )
でサインインします ( 例として Yahoo!Japan IDを使用 )
「 yahoo.co.jp」を入力し「 Sign in」をクリック
補足 :Google Accountの場合はこのリンクをクリック
②Gerritが使えるように設定する (8/13)
Yahoo!JAPAN IDとパスワードを入力し「ログイン」をクリック
②Gerritが使えるように設定する (9/13)
「同意する」をクリック
②Gerritが使えるように設定する (10/13)
「 Full Name」「 Preferred Email」「 Username」を登録します入力後「 Save Changes」や「 Select Username」をクリックしておくこと
②Gerritが使えるように設定する (11/13)
「 Add SSH Public Key」欄に公開鍵をペーストし「 Add」をクリック
②Gerritが使えるように設定する (12/13)
「 ./logerrit test」を実行し設定をテストします「Your gerrit setup was successful!」のメッセージが表示されたら正しく設定できています「 There seems to be trouble.please have the output of: ssh -vvvv logerrit at hand when looking for help.」のメッセージが表示されたら何かがおかしい
~/.ssh 配下の設定ファイルのパーミッションがおかしいとエラーになることがあるアカウントの「 Profle」ー「Username」が空欄になっているとエラーになることがある
;; 設定をテストします$ ./logerrit test…
②Gerritが使えるように設定する (13/13)
Gerritの設定ができたら、最後に git push originした時にデフォルトで LibreOfceのGerrit サーバーへ送るようGitの設定を追加します
;; pushした時に LibreOfficeの Gerritサーバーへ送るよう設定します$ git config remote.origin.pushurl ssh://logerrit/core…
③ライセンス宣言を行う
TDF Wiki「Developers and Contributors list」に従ってライセンス宣言を開発メーリングリストに送付する
https://wiki.documentfoundation.org/Development/DevelopersKoheiさんによる日本語の説明 (メールの後半部分)
http://listarchives.libreoffice.org/ja/discuss/msg02262.html
メールを送るだけ。紙にサインする必要とかはない。シンプル!ライセンス宣言は、パッチを送る直前でよい (と思う )
Developers and Contributors list への名前の追加は、良くわかっている人にお願いした方が良いかも
Example Statement
All of my past & future contributions to LibreOffice may belicensed under the MPLv2/LGPLv3+ dual license.
パッチを送ってみた:送付編ビルドエラー修正パッチをmasterに取り込んで貰う
35LibreOffice Productivity Suite
全体の流れ (私のやり方 )
①バグ報告を行う②バグの原因を探す③バグ修正のためのブランチを作成する④バグ修正作業を行う⑤ビルドの確認、動作の確認を行う⑥パッチをGerritに送る⑦masterに修正が取り込まれたことを確認する
36LibreOffice Productivity Suite
事前のお断り
説明の都合で、この後の例の中にmaster以外のブランチ(libreofce-4-2など )の修正を行っている部分がありますが、その時はブランチ名を適宜 masterに読み替えてください
①バグ報告を行う
LibreOfceのバグは Bugzillaというシステムで管理されますビルドエラー修正の場合、バグ報告は省略可能と思います
誤字、脱字を直すようなものバグ修正のためにバグ報告をされる方はこの資料がお勧め「 LibreOfceでバグを見つけたときの報告方法」小笠原氏
http://www.slideshare.net/naruoga/how-to-report-bugs-of-libreoffice-in-japanese-libre
office
②バグの原因を探す (1/7)
ソースコードやログを調査しますビルドエラーの場合、原因が直ぐ分かることも多々あります
$/opt/lo/bin/make...F:/lo4mas/core/i18npool/qa/cppunit/test_breakiterator.cxx(798) : error C2065: 'LAO' : 定義されていない識別子です。[build CUT] sal_osl_setthreadnameF:/lo4mas/core/i18npool/qa/cppunit/test_breakiterator.cxx(798) : error C2070: ''unknown-type'': sizeof オペランドが正しくありません。...make[1]: *** [F:/lo4mas/core/workdir/CxxObject/i18npool/qa/cppunit/test_breakiterator.o] Error 2make[1]: *** Waiting for unfinished jobs....Makefile:219: recipe for target 'build' failedmake: *** [build] Error 2
②バグの原因を探す (2/7)
LibreOfceのソースコードを調べたい時はhttp://opengrok.libreofce.org/が凄く便利です
OpenGrokは JAVAで書かれたソースコード検索エンジン
②バグの原因を探す (3/7)
エラーの原因になっているソースコードを表示します
②バグの原因を探す (4/7)
この行でコンパイルエラー
②バグの原因を探す (5/7)
ソースコード変更の履歴を表示し、新旧のソースコードを比較してみます
②バグの原因を探す (6/7)
コードが追加されています
②バグの原因を探す (7/7)
コメントに注目Windows日本語環境 & Visual Studio ではコンパイルエラーが出ます
③バグ修正用のブランチを作成する
Gitのコマンドを使ってブランチを作成します$ ./g checkout -b fix-windows-build Switched to a new branch 'fix-windows-build'$ git branch* fix-windows-build Master$
master追跡ブランチ(普段はこちらで ビルドを行う )
バグ修正用 fix-windows-buildブランチ(ここでバグ修正を行う )
46LibreOffice Productivity Suite
④バグ修正作業を行う
テキストエディタでソースコードを編集するコメント行を 1行削除しただけ
⑤ ビルドの確認、動作の確認を行う (1/2)
ビルドエラー修正の場合、ビルドが通ることが動作確認になります
;; モジュールをビルドしエラーが解消した確認します$ /opt/lo/bin/make i18npool …;; 全体をビルドしエラーが解消したか確認します$ /opt/lo/bin/make…;; make clean後に全体をビルドしエラーが解消したか確認します$ /opt/lo/bin/make clean && /opt/lo/bin/make…
⑤ ビルドの確認、動作の確認を行う (2/2)
補足:モジュールについてcore 配下の各ディレクトリがモジュールに対応
⑥パッチをGerritに送る (1/11)
まず、修正をコミットします
$ git add i18npool/qa/cppunit/test_breakiterator.cxx…$ git commit
⑥パッチをGerritに送る (2/11)
コミットログの入力
⑥パッチをGerritに送る (3/11)
Gerritにパッチを pushしますTDF Wikiに習ってコマンドを実行します;; Gerritにパッチを pushします$ git push origin fix-windows-build:refs/for/master…
パッチを push開発用 PC
LibreOfficeのGerritサーバー(インターネット上 )
⑥パッチをGerritに送る (4/11)
Gerritに送られた
masterに読み替えてください
⑥パッチをGerritに送る (5/11)
レビュー、検証を待っている状態
⑥パッチをGerritに送る (6/11)
レビューが始まった (コメントが付く )メールでも通知されます
⑥パッチをGerritに送る (7/11)
Eike RathkeさんのコメントEike Rathke
Patch Set 1: This need some tweaks before it is merged
The comment breaks the build in what sense? Rather than loosing the comment that actually is the clear text of the test data I'd prefer if there were some means that convinced MSVC to not bail out on it.
Eike Rathke
Patch Set 1:
Maybe it helps to put the comment line in an #if 0 block?
「どうゆうこと?」というニュアンスなのだろうか orz...
⑥パッチをGerritに送る (8/11)
Tor LillqvistさんのコメントPatch Set 1:
I don't think it's the localised or not version of MSVC that matters, but the system codepage.Apparently MSVC insists that C++ source code is a valid byte sequence in the system codepage, and this UTF-8 comment is not in yours. Or something like that... I guess you don't want to change your system codepage...?
こちらの伝えたいことを書いてくれている嬉しい!!
⑥パッチをGerritに送る (9/11)
Tor Lillqvistさんに回答Tomofumi Yagi
Patch Set 1:
It is a problem of the system code page. And I do not want to change the system code page. Because many messages on Windows will not be localized.
Please refer, fdo#66395 - Compilation error in Windows with UTF-8 unfriendly codepage fdo#66246 - compile failure for Chinese developers fdo#68790 - Other: Build fails on Windows when system locale is "Japanese(Japan)"
先人の偉業を引用しつつ説明(長文を書かないための技 )
⑥パッチをGerritに送る (10/11)
Eike Rathkeさんに回答Thank you for committing, and I'm sorry for the late reply.
#if 0 block around the comment causes an another build error(fatal error C1004: Unexpected End Of File Found).
Build Error message is here.
F:/lo4mas/core/i18npool/qa/cppunit/test_breakiterator.cxx(725) : warning C4819: ファイルは、現在のコード ページ (932) で表示できない文字を含んでいます。データの損失を防ぐために、ファイルを Unicode 形式で保存してください。F:/lo4mas/core/i18npool/qa/cppunit/test_breakiterator.cxx(961) : fatal error C1004: 予期せぬ EOF が検出されました。
Torさんへ回答しつつ、 Eikeさんに回答するために必死でビルドしてました(二人とも、レスポンスが凄く早かった )
⑥パッチをGerritに送る (11/11)
レビューと検証の終了 ( 承認された )自分が送ったパッチが LibreOfceのソースコードに取り込まれます
masterに読み替えてください
⑦masterに修正が取り込まれたことを確認する(1/3)
LibreOfceのリポジトリ( Freedesktop.orgにある)を見てみます
⑦masterに修正が取り込まれたことを確認する(2/3)
⑦masterに修正が取り込まれたことを確認する(3/3)
最新のmasterをビルドし問題が修正されたことを確認します
ビルドエラー修正の場合、ビルドエラーが解消しビルドが完了する事を確認しますmasterから後に分岐する安定版にも、この修正が入ります;; ブランチを masterに切り替えます$ ./g checkout master Switched to branch 'master';; ワークツリーを最新の状態に更新します$ ./g pull…;; 念のためにログを確認します$ git log...;; masterをビルドします$ /opt/lo/bin/make
自分でバグ修正パッチを送ってみてわかった事そして皆さんに伝えたいこと
開発コミュニティの人達は親切すぎるくらい親切だった (1/3)
Gerritにパッチを送れば、ちゃんとレスポンスがあるカタコトの英語にも関わらず、ちゃんと読んでくれているわかりやすく丁寧な説明を心掛けてはいます (自分なりに )...
私の場合、コミットログや Bugzillaのコメントを書くのに一番時間を使います
生産的なアドバイスが貰えるどうしてこうしないの、ここがおかしいよ、等々
Gerritにパッチを送ったのに放置されたという経験は ( 私は )ありません
開発コミュニティの人達は親切すぎるくらい親切だった (2/3)
こんなサプライズもNorbert Thiebaudさんの「パッチを送ってくれてありがとう」メール
すごく驚いた&感動した
開発コミュニティの人達は親切すぎるくらい親切だった (3/3)
パッチを取り込んで貰えるパッチに不備があっても、レビューで指摘された通りに直せば取り込んでくれる結構、大胆に取り込んで貰えるように思います
仮に問題が出ても、あっという間に誰かが直してしまう ( 速さは正義的な ...)
ビルドエラー修正、些細なバグ修正等の極小パッチしか送ったことがないが、全てマージして貰えてて、今のところ拒否されたことはない
伝え聞くOpenOfce.orgの頃の閉鎖的な開発体制についてパッチを取り込んで貰いにくいという噂があった「LibreOfceの発足から3ヶ月」(Koheiのどうでもいい話 )
日本語環境での動作を改善するパッチが一部取り込まれてない事実
開発のために必要な情報は全て公開されている(1/2)
wiki.documentfoundation.org/Developmenthttps://wiki.documentfoundation.org/Developmentここに全部書いてある
ソースコードのリポジトリhttp://cgit.freedesktop.org/libreofce/
バグトラッキングhttps://www.libreofce.org/bugzilla/
メーリングリスト (アーカイブ )http://www.libreofce.org/get-help/mailing-lists/
開発のために必要な情報は全て公開されている(2/2)
ソースコード検索http://opengrok.libreofce.org/
パッチレビューhttps://gerrit.libreofce.org/
誰でも開発の状況を参照できるし、誰でも開発に参加できる
日本のコミュニティの人達から教えて貰った日本語でコミュニケーションできる日本語のメーリングリストがある
http://ja.libreofce.org/get-help/mailing-lists/この中の [email protected]で開発に関する相談に乗って貰ったコードの分からない部分に関する相談英語に関する相談コーディングスタイルなど、パッチを送った際に引っかかりそうなところのアドバイスをいただいた
チャレンジの姿勢を見せれば、 Koheiさんを筆頭に誰かが教えてくれたコミュニティの方々に相当助けて貰っています (感謝 )
Koheiさんの存在は日本の LibreOfceコミュニティにとって非常に大きい
IRCの日本語チャンネルもある実は、私は参加したことがないので様子がわかりません (ごめんなさい )。
初心者は LibreOfceのビルド&ビルドエラー解消から始めてみよう
大事だと思うのでもう一度 ...LibreOfceのビルド&ビルドエラー解消から始めるメリット開発に参加するための基本中の基本スキルEasy Hacksより Easyなタスク初心者でも、少しずつプロジェクトへの理解を深めていくことができるコア開発者にとっては退屈で煩雑なタスクだが、初心者にとってはプロジェクトへの理解を深めるための大事なタスクだと思います
ソースコードを読もう
折角のオープンソースソースコードが読めれば、結構何とかなる
OpenGrokはとにかく便利ですhttp://opengrok.libreofce.org/インターネットに繋がるなら環境なら使えるスマートフォン上でもソースコードが閲覧/検索可能
他の方のコミット内容を見よう! (自戒を込めて )http://cgit.freedesktop.org/libreofce/core/
情報の宝庫。勉強になる「 2013年における LibreOfce の開発をログから振り返る」安部氏
http://fixedpoint.jp/2013/12/22/libreoffice-2013-retrospect.html
手を動かそう (1/2)
LibreOfce上で日本語を使っていて発生する問題は、日本語を使う人々が自ら解決する必要がある
例えば「縦書き」の問題たとえコア開発者であっても、日本語を使わない人には、何が問題かすら理解できないこともある日本人のほとんどが RTL言語 (右から左へ書く言語 )における問題がわからないのと同じ
UIやヘルプの「翻訳」もそうですね
手を動かそう (2/2)
日本人の開発者は (現状 )とても少ないhttp://www.libreofce.org/about-us/credits/を見てみると ...最近アクティブな方は、Koheiさん、Abeさん、Kurosawaさん、Mogiさんと Apache OpenOfceで頑張っておられるUchinoさんくらい (?)LibreOficeにパッチをマージされたことのある日本人は総勢 14人程度(開発者総数が 748人とすれば約 1.87%)と、とても少ないこれは寂しい、困った ...
ある意味、チャンス?ちょっと頑張れば、先頭集団 ?に入って最前線の方々と一緒にやれる (かも )
これからチャレンジする人に教える私の失敗 (1/6)
Bug 77683 - UI: The color in the toolbar buttons doesn't change when we use the Floating Font/Background/Highlight Color Toolbarの場合
1回目のクリック 2回目のクリック
こんなバグでした
これからチャレンジする人に教える私の失敗 (2/6)
修正したら、こんな指摘が ...
直前のこのコミット
そうなの?
これからチャレンジする人に教える私の失敗 (3/6)
結局、自分が修正した部分も含めて丸ごとリファクタリングされ、問題がごっそり解決した
お騒がせしました
これからチャレンジする人に教える私の失敗 (4/6)
Bug 37129 - Dotted and Dashed table borders are not drawn correctlyの場合
開発メーリングリストにておかしいよね。どうして?という鋭いツッコミちょっと焦る ...
これからチャレンジする人に教える私の失敗 (5/6)
何故そういう修正をしたのか、頑張って説明しました自分の書いたコードの説明するのはプログラマとしては当たり前
曲がりなりにもこの時は収束したしかし、後々ボーダーライン関連はKoheiさんが (この問題も含めて )全面的に書き直すことに ...ボーダーライン修正の詳細は、Koheiさんのブログ記事を読んでみてください (The art of drawing border lines)
再度、お騒がせいたしました
これからチャレンジする人に教える私の失敗 (6/6)
こんなんで大丈夫か?と思いつつも懲りずに続けています同じ失敗は繰り返さないように勉強しつつ ...
これまで見てきたあなた、自信が湧いてきたでしょう?
どうせやるなら楽しくやろう!!
私も不安なことは多いですコア開発者に迷惑を掛けてないか?カタコトの英語が通じているか?知らず知らずに無礼なことをしてないか?でも、取って食われる訳じゃないし、単に相手にされなくなるだけ
どうせやるなら楽しくやろう!!楽しくなければ続かない (当然ですが ...)プロにはプロの、アマチュアにはアマチュアのなりのやり方が多分ある個人のOSS開発 =趣味の盆栽いじり論 (恩師の受け売り )
モチベーション再び冒頭で敢えて言わなかったこと ...
質疑応答もしお聞きになりたいことがありましたらどうぞ
All text and image content in this document is licensed under the Creative Commons Attribution-Share Alike 3.0 License (unless otherwise specified). "LibreOffice" and "The Document Foundation" are registered trademarks. Their respective logos and icons are subject to international copyright laws. The use of these therefore is subject to the trademark policy.
ご清聴ありがとうございました
83LibreOffice Productivity Suite
参考文献 / WebページLibreOffice: Hermenutical keys to a complex code-baselibreoffice/core main, development code repository Michael Meeks
https://people.gnome.org/~michael/data/2013-07-26-libreoffice-code-structure.pdf
Welcome to the Review of the LibreOffice Conference 2013http://conference.libreoffice.org/talks/2013/
Development/Code Overviewhttps://wiki.documentfoundation.org/Development/Code_Overview
LibreOffice Easy Hackshttps://wiki.documentfoundation.org/Development/Easy_Hacks
84LibreOffice Productivity Suite
参考文献 / WebページLinux環境で LibreOfficeをビルドしてみようかね by Naruhiko Ogasawara
http://www.slideshare.net/naruoga/libreofficelinux?from_search=12
Mac OS X での LibreOffice ビルド報告 Ver.2 ( 2014年 2月 10日発表) by testnoda
http://www.slideshare.net/testnoda/lib-o-buildmacosx20140210
LibreOfficeをWindows上でビルドする by Tomofumi Yagihttp://www.slideshare.net/tomofumiyagi/libreoffice-buildytmkndshortver
85LibreOffice Productivity Suite
参考文献 / WebページGerrit Code Review LibreOffice
https://gerrit.libreoffice.org/Setting yourself up for gerrit(TDF Wiki)
https://wiki.documentfoundation.org/Development/gerrit/setup
Developers and Contributors list(TDF Wiki)https://wiki.documentfoundation.org/Development/Developers
Kohei さんによるライセンス宣言の説明 (日本語 )http://listarchives.libreoffice.org/ja/discuss/msg02262.html
How to report bugs of LibreOffice in Japanese / LibreOfficeの不具合を日本語で報告するには by Naruhiko Ogasawarahttp://www.slideshare.net/naruoga/how-to-report-bugs-of-libreoffice-in-japanese-libreoffice
86LibreOffice Productivity Suite
参考文献 / WebページGerrit Code Review LibreOffice
https://gerrit.libreoffice.org/OpenGrok.libreoffice.org
http://opengrok.libreoffice.org/Remove UTF-8 comment.(Gerrit Code Review Change 6847)
https://gerrit.libreoffice.org/#/c/6847/LibreOffice main, development code repository
http://cgit.freedesktop.org/libreoffice/core/
87LibreOffice Productivity Suite
参考文献 / Webページ「 LibreOfficeの発足から 3ヶ月」 (Koheiのどうでもいい話
http://kohei-yoshida.blogspot.jp/2010/12/libreoffice3.htmlDevelopment(TDF Wiki)
https://wiki.documentfoundation.org/DevelopmentWelcome to Bugzilla
https://www.libreoffice.org/bugzilla/Mailing Lists
http://www.libreoffice.org/get-help/mailing-lists/メーリングリスト (日本語 )
http://ja.libreoffice.org/get-help/mailing-lists/
88LibreOffice Productivity Suite
参考文献 / Webページfixedpoint.jp - 「 2013年における LibreOffice の開発をログから振り返る」
http://fixedpoint.jp/2013/12/22/libreoffice-2013-retrospect.html
Creditshttp://www.libreoffice.org/about-us/credits/
Bugous bug fix(Document Foundation Mail Archive)http://nabble.documentfoundation.org/Bugous-bug-fix-td4073889.html「 THE ART OF DRAWING BORDER LINES」 (Roundtrip to Shanghai via Tokyo)
http://kohei.us/2014/01/17/the-art-of-drawing-border-lines/
89LibreOffice Productivity Suite
参考文献 / WebページBug 73891 - UI color panel does not show the actual color
https://bugs.freedesktop.org/show_bug.cgi?id=73891Bug 65675 - (mab4.2) LibreOffice 4.2 most annoying bugs
https://bugs.freedesktop.org/show_bug.cgi?id=65675Bug 35862 - "Increase font" and "decrease font" could work even if the selection contains...
https://bugs.freedesktop.org/show_bug.cgi?id=35862 Bug 37129 - Dotted and Dashed table borders are not drawn correctly.
https://bugs.freedesktop.org/show_bug.cgi?id=37129
90LibreOffice Productivity Suite
参考文献 / Webページ「OpenOffice.orgソースコード探検」中本氏
http://bd.tank.jp/presentation/「非公認 OpenOffice ハッカーズガイド - 1.1」
https://code.google.com/p/ooo/source/browse/trunk/ooo-build/www/hackers-guide-1.1-ja.html「 LibreOfficeの最新動向 - コミュニティとプロダクトの面から」 by Naruhiko Ogasawara
http://www.slideshare.net/naruoga/osc2013-fk