Slide 1

Slide 1 text

題: 場所: 日付: 044ͷΞϓϦέʔγϣϯΛ։ൃʮ͠ଓ͚ΔʯͨΊͷ఩ֶ J04%$ϨΪϡϥʔτʔΫ ೥݄೔ KQ 発表者:

Slide 2

Slide 2 text

iOSDC 2022 044ͷΞϓϦέʔγϣϯΛ։ൃʮ͠ଓ͚ΔʯͨΊͷ఩ֶ ©2022 1024jp ࣗݾ঺հ CotEditor Gapplin Qli applications plain-text editor SVG viewer movie player macOS events @ hobby macOS developer/designer podcast 1024jp

Slide 3

Slide 3 text

iOSDC 2022 044ͷΞϓϦέʔγϣϯΛ։ൃʮ͠ଓ͚ΔʯͨΊͷ఩ֶ ©2022 1024jp ࠓ೔ͷ࿩ ͷ։ൃ࢟੎ͷ࿩ O CotEditor

Slide 4

Slide 4 text

iOSDC 2022 044ͷΞϓϦέʔγϣϯΛ։ൃʮ͠ଓ͚ΔʯͨΊͷ఩ֶ ©2022 1024jp $PU&EJUPS CotEditor plain-text editor for macOS

Slide 5

Slide 5 text

iOSDC 2022 044ͷΞϓϦέʔγϣϯΛ։ൃʮ͠ଓ͚ΔʯͨΊͷ఩ֶ ©2022 1024jp $PU&EJUPS coteditor / CotEditor Public 2 branches 287 tags About Lightweight Plain-Text Editor for macOS coteditor.com editor macos swift cocoa texteditor mac-app coteditor macos-app Readme View license Code of conduct 4.9k stars 111 watching 369 forks Releases 184 4.3.3 Latest 9 days ago + 183 releases Contributors 28 Pull requests Issues Explore Search or jump to… Marketplace Edit Pins Unwatch 111 Fork 369 Star 4.9k Code Issues 89 Pull requests Discussions Actions Wiki Security Insights Settings develop Go to file Add file Code 1024jp Add any 3b83777 19 hours ago 11,701 commits .github Update project to Xcode 14 last month CotEditor.xcodeproj Gather scripting support files in project 7 days ago CotEditor.xcworkspace/xcshareddata Update Turkish translations 23 days ago CotEditor Add any 19 hours ago SyntaxMapBuilder Refactor SyntaxMapBuilder 5 months ago Tests Add workaround for a bug in macOS 13 Ventura (beta) 11 days ago UI Tests Add launch performance measurement to UI test 7 months ago cot @ 2848a9b Update cot command 6 months ago .gitignore GitIgnore // Omit build folder. 4 months ago .gitmodules Migrate Sparkle from submodule to SwiftPM 12 months ago .swiftlint.yml Update .swiftlint for 0.47.0 5 months ago CHANGELOG.md Deprecate length property 8 days ago CODE_OF_CONDUCT.md Update CoC to 2.1 6 months ago CONTRIBUTING.md Update CONTRIBUTING.md 23 days ago LICENSE Add license about image resources (#846) 4 years ago README.md Update project to Xcode 14 last month [email protected] Update screenshot for README 2 years ago https://github.com/coteditor/CotEditor/

Slide 6

Slide 6 text

iOSDC 2022 044ͷΞϓϦέʔγϣϯΛ։ൃʮ͠ଓ͚ΔʯͨΊͷ఩ֶ ©2022 1024jp $PU&EJUPSͷ։ൃମ੍วྺ nakamuxu͞Μ usami-k͞Μ 1024jp 2004–2009 2011 2014 ver. 0.6.0–1.0.1 ver. 1.4.0– ver. 1.1.0–1.3.1 2022 10,362 commits 1,030,553 ++ 1,073,119 -- େମ݄1ϦϦʔεҎ্ ver. 1.0 まだ飽きてないよ r ݸਓ ̍ਓ ͰແঈͰ։ൃ͍ͯ͠Δ લఏɿ 8೥ؒ

Slide 7

Slide 7 text

iOSDC 2022 044ͷΞϓϦέʔγϣϯΛ։ൃʮ͠ଓ͚ΔʯͨΊͷ఩ֶ ©2022 1024jp ։ൃʮ͠ଓ͚Δʯ ✔︎ ࣗ෼͕ศརʹ࢖͍͍ͨ ✔︎ ଞਓ΋࢖͍ͬͯΔ ✔︎ ։ൃ͕ͨͷ͍͠ ✔︎ ʜ ✔︎ ͍͕͍ͦ͠ ✔︎ ڵຯ͕ബΕΔ ✔︎ ݏͳମݧΛ͢Δ ✔︎ ʜ r ఆظతʹίʔυมߋ͕͋Δ r ఆظతʹϦϦʔε͕͋Δ ։ൃऀ͕ ఆظతʹ࣌ؒΛׂ͘ ։ൃ͢Δಈػ ։ൃ͠ͳ͍ಈػ これを保ち続ける これを減らして 􀭭 􀭮

Slide 8

Slide 8 text

iOSDC 2022 044ͷΞϓϦέʔγϣϯΛ։ൃʮ͠ଓ͚ΔʯͨΊͷ఩ֶ ©2022 1024jp ։ൃʮ͠ଓ͚ΔʯͨΊʹ ᶃ ܧଓతͳ։ൃ؀ڥΛߏங͢Δ ᶄ ։ൃ͍ͨ͠ؾ࣋ͪΛอͭ r ௕ظܭըΛཱͯΔ r কདྷੑͷ͋Δٕज़Λબఆ͢Δ r ϑΟʔυόοΫ؀ڥΛ੔උ͢Δ r ࡶ຿ΛࣗಈԽ͢Δ r ʜ r ࣗ෼͕ݏͳ͜ͱΛݮΒ͢ r ٧Ί͗͢ͳ͍ r ָ͘͢͠Δ੔උΛ͢Δ r ʜ 􀊴

Slide 9

Slide 9 text

©2022 1024jp iOSDC 2022 044ͷΞϓϦέʔγϣϯΛ։ൃʮ͠ଓ͚ΔʯͨΊͷ఩ֶ ᶄ։ൃ͍ͨ͠ؾ࣋ͪΛอͭ

Slide 10

Slide 10 text

iOSDC 2022 044ͷΞϓϦέʔγϣϯΛ։ൃʮ͠ଓ͚ΔʯͨΊͷ఩ֶ ©2022 1024jp ։ൃʮ͠ଓ͚Δʯ͜ͱ͸ඒಙͳͷ͔ 􀉪 􀐚 􀝊 􀉪 開発は続いてるな Ҿ͖ܧ͗ / ϑΥʔΫ 終わった… r ϓϩμΫτ͕ଘଓ͍ͯ͠Ε͹ɺ୭͕։ൃ͍ͯ͠Δ͔͸ར༻ऀʹ͸͋·ΓॏཁͰ͸ͳ͍ ただ、プロダクトの質は変わる 本人にとっては大ごと r ΍Γͨ͘ͳ͘ͳͬͨΒ΍Βͳͯ͘ྑ͍ でもさ、やりたくて始めたんでしょ?

Slide 11

Slide 11 text

iOSDC 2022 044ͷΞϓϦέʔγϣϯΛ։ൃʮ͠ଓ͚ΔʯͨΊͷ఩ֶ ©2022 1024jp )PXUP"WPJE#VSOPVU.BOBHJOHBO0QFO4PVSDF1SPKFDU https://thenewstack.io/darker-side-open-source/ ։ൃ͸ݽಠͰϢʔβ͸ၗຫͰਓ͸೩͑ਚ͖Δ 8IZ0QFO4PVSDF%FWFMPQFST"SF#VSOJOH0VU https://betterprogramming.pub/why-open-source-developers-are-burning-out-1a860854884c )PX*TUBZIBQQZNBLJOHPQFOTPVSDFTPGUXBSF https://snarky.ca/how-i-stay-happy-making-open-source-software/ 044Λҡ࣋͢Δ͜ͱͷΉ͔ͣ͠͞ https://cocopon.me/blog/2020/10/oss/ %FBMJOHXJUICVSOPVUJOPQFOTPVSDF https://opensource.com/article/21/7/burnout-open-source 044։ൃऀʹ޲͚ΒΕΔʮࡡऔͷਫ਼ਆʯ https://logmi.jp/tech/articles/326575 4BZJOH/PUPCVSOPVUBTBOPQFOTPVSDFNBJOUBJOFS https://www.jeffgeerling.com/blog/2020/saying-no-burnout-open-source-maintainer

Slide 12

Slide 12 text

iOSDC 2022 044ͷΞϓϦέʔγϣϯΛ։ൃʮ͠ଓ͚ΔʯͨΊͷ఩ֶ ©2022 1024jp ։ൃΛࣙΊΔ ԿͷͨΊʹ΍͍ͬͯΔͷ͔ݟࣦ͏͜ͱ͕͋Δ r ੜ׆ʹ༨༟͕ͳ͘ͳΔ r ඇ೉Λ໨ʹ͢Δ r Ϣʔβ͔Β΋Β͏ଟ༷ͳϑΟʔυόοΫ r ։ൃͷʮ໘ന͘ͳ͍ʯ෦෼Ͱͷർฐ ݈શͳ։ൃऴྃ r ച٫ r ্Ґޓ׵͕ग़ͨͷͰນҾ͖ r ։ൃऀͷݸਓχʔζ͕ͳ͘ͳͬͨͷͰऴྃ r ϥΠϑεςʔδ͕มΘͬͨͷͰऴྃ ユーザにとって不幸かもしれないが 
 開発者にとっては健全 ↔︎

Slide 13

Slide 13 text

iOSDC 2022 044ͷΞϓϦέʔγϣϯΛ։ൃʮ͠ଓ͚ΔʯͨΊͷ఩ֶ ©2022 1024jp ڧ͍։ൃࢦ਑Λ࣋ͭ ᶃ ࣗ෼Λָ͠·ͤΔ ᶄ ࠷ߴͷNBD04OBUJWFΞϓϦέʔγϣϯΛ 
 ࡞Δ ᶅ ࣗ෼ͱಉ͡6*ΛٻΊ͍ͯΔϢʔβʹ 
 تΜͰ΋Β͏ $PU&EJUPSͷ৔߹ɿ Ϣʔβʹ࠷ߴNBD04ςΩετฤूΤΫεϖϦΤϯεΛఏڙ͢Δ ͡ Ϳ Μ これさえ満たせれば他のことはノイズ ᶆ औΓ͜΅͞ΕΔϢʔβΛऔΓ͜΅͞ͳ͍ ඇӳޠ࿩ऀ ॎॻ͖ ૒ํ޲ݴޠ 7PJDF0WFS ॳ৺ऀ ᶇ 044ͷੈքʹߩݙΛ͢Δ ᶈ ΦϦδφϧ։ൃऀͷҙࢥΛܧ͙ OBLBNVYV͞Μ

Slide 14

Slide 14 text

iOSDC 2022 044ͷΞϓϦέʔγϣϯΛ։ൃʮ͠ଓ͚ΔʯͨΊͷ఩ֶ ©2022 1024jp Ϣʔβ͔ΒͷϑΟʔυόοΫ 􀝊 􀝊 理想のエディタです 愛用しています バグ修正が早い! ͏Ε͍͠ ൵͍͠ ○○の機能が 
 ないから使えない 開発者がやる気ない 更新多すぎ ʢͨͱ͑όάΛग़ͯ͠΋ʣ मਖ਼͕ૣ͍ͱت͹ΕΔ ωΠςΟϒઃܭʹ χʔζ͕͋Δ ○○ػೳʹ χʔζ͕͋Δ r Ϣʔβ͸ਓؒͳͷͰײ৘͕౤͛ΒΕΔ ౰ͨΓલͷײ৘ r ײ৘Λ༳͞ͿΒΕΔͷͰ͸ͳ͘ɺΞϓϦέʔγϣϯʹؐݩͰ͖ΔཁૉΛर͏ 市場荒らし ○○の機能が 
 便利 Ξοϓσʔτ͕ ൥Θ͍͠ਓ΋͍Δ r ·͊ɺʮ͏Ε͍͠ʯ͸ૉ๿ʹར༻ͯ͠΋ྑ͍ʢެڞ৺ͱঝೝཉٻ͕ຬͨ͞ΕΔɾ͝ར༻͸ܭըతʹʣ

Slide 15

Slide 15 text

iOSDC 2022 044ͷΞϓϦέʔγϣϯΛ։ൃʮ͠ଓ͚ΔʯͨΊͷ఩ֶ ©2022 1024jp ϢʔβΛ؁΍͔͠ಥ͖์͢ ϑΟʔυόοΫ͸ϓϩμΫτΛྑ͘͢ΔͨΊͷ 
 ݕ౼ࡐྉͰ͋Γɺ௚઀࠾༻͢Δ΋ͷͰ͸ͳ͍ɻ ຊ݅ɺଞʹ΋͍ۙ͠ঢ়گΛπΠʔτͯ͠Δํ͕͍ Βͬ͠ΌΔͷͰ͕͢ɺβςετؚΊಛʹϢʔβ͔Β Ϩϙʔτ্͕͕ͬͯ͜ͳ͍ͨΊɺ։ൃଆ͸ࣄ৅Λ ೺ѲͰ͖ͳ͍Ͱ͍·͢ɻ͓࣌ؒ͋Γ·ͨ͠Βৄ͠ ͍ঢ়گڭ͍͚͑ͯͨͩΔͱ޾͍Ͱ͢ɻ CotEditor @CotEditorɾ2022/05/09 OSS界隈は放任主義なのでこのムーブはしないことが多い r ෆຬΛೳಈతʹर͍ʹߦ͘ r ϓϧϦΫΤετΛٻΊͳ͍ r ཁ๬ʹԠ͑Α͏ͱ͠ͳ͍ ಥ͖์͢ ؁΍͔͢ r ײ৘Λ༳͞ͿΒΕΔͷͰ͸ͳ͘ɺΞϓϦέʔγϣϯʹؐݩͰ͖ΔཁૉΛर͏ 􀝊 最高のプロダクトにしたい なんか便利そうなのが 
 あるから使うか 􀉪 ↔︎ ։ൃऀͷ໨తͱϢʔβͷ໨త͸ಠཱ͍ͯ͠Δ

Slide 16

Slide 16 text

iOSDC 2022 044ͷΞϓϦέʔγϣϯΛ։ൃʮ͠ଓ͚ΔʯͨΊͷ఩ֶ ©2022 1024jp r νϠϗϠ͞Εʹߦ͘ r ϢʔβϨϏϡʔΛಡΈʹ͍͘ r ొஃ͢Δ r ίϛϡχςΟͱަྲྀ͢ΔػձΛ࡞Δ r ϚωλΠζ͢Δ r ΍ͬͯϞνϕʔγϣϯ্͕͕ΔͳΒ 
 ΍Δͱྑ͍ r ଍ᐫʹ΋ͳΓ͏ΔͷͰɺಋೖ͢Δ͔͸ 
 ؾΛ͚ͭΔ r ฦࣄΛฦ͞ͳ͍ r ϓϩδΣΫτ͝ͱڞ౗Ε͢ΔΑΓɺ 
 ฦࣄ͕དྷͳ͍ํ͕ͣͬͱϚγͰ͋Δ r ϑΟʔυόοΫ͸ϓϩμΫτΛྑ͘͢ΔͨΊ ͷ৘ใऩूͰ͋ΓϢʔβαϙʔτͰ͸ͳ͍ r ϓϥΠΦϦςΟΛकΒͳ͍ r ΈΜͳ͕଴ͬͯΔ͋ͷػೳͰͳ͘ 
 ࣗ෼͕৮Γͨ͘ͳͬͨͱ͜ΖΛ΍Δ r ͨ·ʹ์ஔ͢Δ ྗਚ͖ͳ͍ͨΊʹෆஅͷ౒ྗΛ͢Δ 􁓶 􁋸 ͝๙ඒΛ࡞Δ αϘΔ 􀮀 「やらなきゃいけないこと」なんて何もない 􀑪 CotEditorはやっていないけど

Slide 17

Slide 17 text

iOSDC 2022 044ͷΞϓϦέʔγϣϯΛ։ൃʮ͠ଓ͚ΔʯͨΊͷ఩ֶ ©2022 1024jp ଛΛड͚ೖΕΔ r ࢲత࣌ؒͱࢿۚΛ౤ೖ͍ͯ͠Δ r ۤ࿑͸ྲྀग़͢Δ r ඇ೉Λड͚Δ r ͍͍Α͏ʹ࢖ΘΕΔ ϑϦʔϥΠυ͞ΕͯΔ 
 ମײ ೩͑ਚ͖ ࣄ࣮ 􀦅 ϊϒϨεɾΦϒϦʔδϡ noblesse oblige

Slide 18

Slide 18 text

iOSDC 2022 044ͷΞϓϦέʔγϣϯΛ։ൃʮ͠ଓ͚ΔʯͨΊͷ఩ֶ ©2022 1024jp ϓϩδΣΫτʹ৺͔ΒѪ৘Λ࣋ͬͯऔΓ૊Ή r ޷͖Ͱ΋ͳ͍΋ͷʹ࣌ؒΛ͔͚ଓ͚Δͷ͸ਓੜͷଛࣦͰ͋Δ ։ൃָ͕͍͠ঢ়ଶΛอͭ r χʔζͱঝೝཉٻͱରՁ͚ͩͰଓ͚Δ։ൃ͸κϯϏʹͳΔ r ։ൃͦͷ΋ͷ͕͝๙ඒ ʢ୭͔ʹͱͬͯʣੈքҰͷ඼࣭ͷ΋ͷΛ࡞Δ r ൪໨ͷ΋ͷ͸࢖ΘΕͳ͍ r ඼࣭Λ௥ٻ͢Δ͜ͱͰৗʹվྑΛ͢Δঢ়ଶ͕Ͱ͖Δ

Slide 19

Slide 19 text

©2022 1024jp iOSDC 2022 044ͷΞϓϦέʔγϣϯΛ։ൃʮ͠ଓ͚ΔʯͨΊͷ఩ֶ ᶃܧଓతͳ։ൃ؀ڥΛߏங͢Δ

Slide 20

Slide 20 text

iOSDC 2022 044ͷΞϓϦέʔγϣϯΛ։ൃʮ͠ଓ͚ΔʯͨΊͷ఩ֶ ©2022 1024jp ֎෦؀ڥ΁ͷґଘੑ 􀈿 ϓϨʔϯςΩετ͸ෆ໓ʢʁʣ 􀉅 / ѻ͏ର৅ͦͷ΋ͷ͕ഇΕͨΒͦ͏͸͍͔ͳ͍ ᶃ ഇΕͳ͍Α͏ʹۀք͝ͱ੝Γ্͛Δ ᶄ ഇΕͨΒखΛҾ͘ r ͲΜͳʹଓ͚Δؾ͕͋ͬͯ΋ର৅͕ଓ͔ͳ͍ͱ੒Γཱͨͳ͍ αऴ

Slide 21

Slide 21 text

iOSDC 2022 044ͷΞϓϦέʔγϣϯΛ։ൃʮ͠ଓ͚ΔʯͨΊͷ఩ֶ ©2022 1024jp কདྷੑͷ͋Δٕज़Λબఆ͢Δ r 4XJGU6* 4XJGU$PODVSSFODZ 4XJGU1. FUDʢ$PNCJOF͸ ʣ r SEύʔςΟٕज़͸ආ͚Δ r ࠾୒͠΍͍͢΋ͷɿ r Ҡߦ͕Մೳͦ͏ͳ΋ͷ FH:BNT r σϑΝΫτελϯμʔυฒΈʹ࢖ΘΕ͍ͯΔʢFH4QBSLMFʣ r ࠷ѱࣗ෼ͰϝϯςͰ͖ͦ͏ r ઙ͔͘͠࢖Θͳ͍ r ಠࣗͷʢྲྀߦͷʣΞʔΩςΫνϟΛ࢖Θͳ͍ みんな困るから誰かが引き継ぐやろ

Slide 22

Slide 22 text

iOSDC 2022 044ͷΞϓϦέʔγϣϯΛ։ൃʮ͠ଓ͚ΔʯͨΊͷ఩ֶ ©2022 1024jp ௕ظతͳ໨ઢͰਐΊΔ r ՚΍͔͞ἤΓʹགྷΒ͞Εͳ͍ r ஍ಓʹվળΛ͢Δ ೿खͳ৽ػೳ͸ت͹ΕΔ 􀝊 設定項目を整理しました!! ? 変わんなくない? えー、 
 あれ使ってたのに… 􀉪 􀝊 人気のあの機能追加です!! うおーー!! 􀉪 メモリリークの可能性を 
 除去しました 􀉪 􀝊 􀝊 色変えられます かわいい! 􀉪 ஍ಓͳ΍ͭ これはこれで必要 r ϓϩμΫτͷ҆ఆੑͱ 
 ίʔυͷՄಡੑΛେࣄʹ ೥ޙɺ೥ޙʹ Ͳ͏ͳ͍ͬͯΔ΂͖͔ ৽͍͠มߋ͕͠΍͍͢؀ڥΛ อͪଓ͚Δ

Slide 23

Slide 23 text

iOSDC 2022 044ͷΞϓϦέʔγϣϯΛ։ൃʮ͠ଓ͚ΔʯͨΊͷ఩ֶ ©2022 1024jp ·ͱΊ r ԿͷͨΊʹ։ൃΛ͍ͯ͠Δͷ͔ΛંΛݟͯ֬ೝ͢Δ r ଞਓʹج४Λஔ͔ͳ͍ Ϣʔβʹ࠷ߴNBD04ςΩετฤूΤΫεϖϦΤϯεΛఏڙ͢Δ ͡ Ϳ Μ ఩ֶ $PU&EJUPSͷ৔߹ɿ O } r ։ൃʮ͠ଓ͚Δʯ͜ͱࣗମ͸໨తͰ͸ͳ͍ ͷΊΓࠐΈ͗ͯ͢ਓੜΛյ͞ͳ͍Α͏ʹͶʢࣗռʣ r Ϣʔβ͸։ൃऀʹؾΛ࢖ΘͣʹϑΟʔυόοΫΛͲΜͲΜ౤͛Δͱྑ͍ むしろ、気を使うなら

Slide 24

Slide 24 text

©2022 1024jp iOSDC 2022 044ͷΞϓϦέʔγϣϯΛ։ൃʮ͠ଓ͚ΔʯͨΊͷ఩ֶ ྑ͍։ൃΛ