Videos → Profit from Open Source with GitHub Sponsors
Description
คุณออม SaltyAom นักพัฒนา Open Source full-time ผู้สร้าง framework Elysia จะมาแบ่งปันประสบการณ์การทำงานในโลก Open Source ตั้งแต่จุดเริ่มต้นเล็กๆ จนถึงการสร้างผลงานที่ได้รับความนิยม ฟังเรื่องราวการพัฒนา Elysia พร้อมเรียนรู้ถึงบทบาทของ Open Source developer วิธีการหาเลี้ยงชีพ การสร้าง community และเคล็ดลับในการสร้างผลงานให้เป็นที่รู้จัก วิดีโอนี้เหมาะสำหรับนักพัฒนาที่สนใจ Open Source และอยากรู้ว่าการเป็น Open Source developer นั้นเป็นอย่างไร
Chapters
- แนะนำตัวและเกริ่นนำ 0:00
- Open Source Developer ทำอะไร? - เส้นทางสู่ Full-time 0:24
- ชีวิตโปรแกรมเมอร์ Full-time Open Source - ทำ Library ให้ใช้ฟรี 1:12
- เส้นทางการหาเงินของ Open Source Developer 2:01
- Open Source คืออะไร? - ความหมายและตัวอย่าง 2:49
- GitHub สำหรับ Open Source Developer - เครื่องมือและประโยชน์ 5:00
- ตัวอย่าง Open Source เล็กๆ น้อยๆ ก็มีประโยชน์ 7:04
- License สำคัญอย่างไร? - เลือกให้เหมาะกับงาน 8:28
- ไม่ต้องเก่งก็ทำ Open Source ได้ - เริ่มจากสิ่งง่ายๆ 9:33
- ประโยชน์ของการทำ Open Source - เรียนรู้จากประสบการณ์จริง 11:09
- ทุกอย่างเป็น Open Source ได้ - แค่แชร์ก็มีค่า 13:13
- Open Source สอนอะไรบ้าง? - เตรียมพร้อมสู่โลกการทำงาน 15:00
- ข้อดีของการแชร์ Open Source - ได้รับคำแนะนำและพัฒนา 17:52
- Open Source Developer Full-time - ทำงานอย่างไร? 19:25
- การหาเงินจาก Open Source - ยอดดาวน์โหลดไม่ใช่ทุกอย่าง 21:10
- การบริหารเวลาของ Open Source Developer - ไม่ได้เขียนโค้ดอย่างเดียว 22:48
- Discord และ Slack - ช่องทางสื่อสารสำคัญของ Open Source Community 24:00
- การสร้าง Audience และรับ Feedback - ประโยชน์ที่เหนือกว่างานบริษัท 25:34
- Open Source นำไปสู่โอกาสใหม่ๆ - งานบรรยายและการสร้าง Connection 27:38
- ไม่ต้องเก่งโค้ดก็เป็น Open Source Developer ได้ - เน้นการสื่อสาร 29:00
- Sharing and Caring - หัวใจสำคัญของ Open Source 31:06
- GitHub - มากกว่าแค่ที่เก็บโค้ด 33:21
- Documentation - สิ่งที่ยากที่สุดในการทำ Open Source 34:51
- GitHub Sponsors - หนึ่งในช่องทางการหาเงินของ Open Source Developer 35:39
- ทำ Open Source ด้วยใจรัก อย่าหวังรวย 37:51
- ช่องทางการหาเงินจาก Open Source - Sponsorship, Consulting, Bug Bounty 40:56
- Open Source สำคัญต่อ Industry อย่างไร? 43:31
- ข้อดีของการทำ Open Source - สร้างโอกาสและ Connection 45:18
- Open Source - Portfolio ที่ดีที่สุดสำหรับ Developer 46:48
- เคสพิเศษ - เมื่อบริษัทอยากจ้าง Open Source Developer Full-time 48:43
- บทสรุป - ทำ Open Source ให้สนุก แล้วโอกาสจะวิ่งเข้าหาคุณ 51:08
- ช่วงถาม-ตอบ: ภาพลักษณ์ของ Open Source Developer 52:13
Transcript
คำบรรยายต่อไปนี้อาจไม่ถูกต้องทั้งหมด หากคุณพบข้อผิดพลาดใดๆ คุณสามารถช่วยแก้ไขข้อผิดพลาดได้บน GitHub
แนะนำตัวและเกริ่นนำ0:00
สวัสดีครับๆ ได้ยินเนาะ สวัสดีทุกคนที่มาในวันนี้นะครับ วันนี้มาแปลกนิดนึง ก็คือจริงๆ แล้ว เมื่อเช้าไปแอบไปงานเกม ตรงสามย่านมา ก็เลยต้องแต่งคอสเพลย์มา แล้วก็กลับมาเปลี่ยนชุดไม่ทัน ก็เลยขอพี่ช้างใส่ชุดนี้ขึ้นมาพูดเลยละกัน ก็ประมาณนี้ฮะ แต่ว่าก็นิดหน่อยๆ
Open Source Developer ทำอะไร? - เส้นทางสู่ Full-time0:24
ถือว่าเป็นสีสันเนาะ ก็จริงๆ แล้วเนี่ยวันนี้จะมาพูดเรื่อง- หัวข้อเนี่ยมันคือ Open Source เนี่ย นักพัฒนาที่ทำ Open Source เนี่ย เค้าอยู่กันยังไงเนาะ ก็ถ้าตามหัวข้อเลยก็คือแบบ เราสามารถใช้ GitHub Sponsors ในการรับเงินมาได้ อะไรประมาณนี้ แต่ว่าจริงๆ แล้ว หัวข้อที่อยากพูดอ่ะ จะมากกว่านั้นนิดหน่อย ก็คือ วันๆ แล้วอ่ะ Open Source Developer เค้าทำอะไรกันบ้างเนาะ ก็เดี๋ยวแนะนำตัวเองนิดนึง ก็คือ เอ้ย นี่ไม่ใช่สไลด์เนาะ แต่ไม่เป็นไร ก็แนะนำตัวเองนิดนึงก็คือ ผมชื่อออมเนาะ ถ้าเป็นชื่อบนเน็ตก็จะใช้ชื่อว่า SaltyAom บน Twitter GitHub หรือว่าอะไรพวกนี้ ก็ไปลอง search ดูบน Twitter GitHub ได้ ส่วนใหญ่ก็จะใช้ชื่อนี้แหละ
แต่ว่าทีนี้เนี่ย ส่วนตัวแล้วเนี่ย
ชีวิตโปรแกรมเมอร์ Full-time Open Source - ทำ Library ให้ใช้ฟรี1:12
ทุกคนน่าจะรู้หรืออยู่แล้วว่าโปรแกรมเมอร์ เค้าทำงานกันยังไงเนาะ แต่ว่าจะมีโปรแกรมเมอร์ประเภทนึงเนี่ยที่ เอาเวลา full time เนี่ยไปทำ library เหมือนกับว่า อารมณ์ประมาณว่า เราเป็น developer กลุ่มนึงที่ไม่ได้อยู่ในบริษัทนะ แต่ว่าเราเอาเวลาที่เรามีเนี่ย
full time อ่ะ ไปพัฒนาอะไรบางอย่างให้คนออกมาใช้ฟรี เช่นเป็น library อย่างเช่น ตัวที่ผมทำอยู่ก็คือ framework ชื่อว่า Elysia เอาไว้แบบว่า เป็นเหมือนกับ framework เอาไว้เขียน backend เนาะ ด้วยตัว JavaScript แต่ทีนี้ คำถามก็คือ โอเค ในเมื่อเราไม่ได ้อยู่ในบริษัทอะไร
แล้วก็ออกมาทำ product ตัวเองเนี่ย คำถามก็คือเราได้เงินจากไหนเนาะ
เส้นทางการหาเงินของ Open Source Developer2:01
ในช่วงแรกๆ เนี่ย เราก็จะมาอธิบายตรงนี้ว่า อยากอธิบายว่ามันเกิดอะไรขึ้นบ้าง ระหว่างนี้ จนทำ full time มาเรื่อยๆ จนมีบริษัทใหญ่ๆ บอกว่า
คุณมาเป็นพนักงานเรานะ แล้วเดี๋ยวเราจะ sponsor ค่าใช้จ่ายให้ เราจะ sponsor ให้เป็นรายเดือนเลย เป็นเงินค่อนข้างเยอะอยู่ระดับนึง แล้วก็บอกว่า คุณเอาเวลาไปทำ open source ของคุณต่อได้เลย เราไม่ต้องทำอะไรเกี่ยวกับบริษัทเลย เราแค่เอาเวล าของเราไปทำ product ที่เรามีอยู่แล้ว แล้วให้คนอื่นใช้ต่อ งานที่ผมทำก็คือเป็น open source developer เราพัฒนา product ของตัวเองขึ้นมา ให้คนอื่นเอาไปใช้ต่อยอดได้ฟรี โดยทั้งหมดเนี่ย มันเป็น open source
Open Source คืออะไร? - ความหมายและตัวอย่าง2:49
open source ก็คือเหมือนกับว่า เรามี source code แล้วคุณก็สามารถ เอาไปใช้ต่อ พัฒนาต่อได้ แก้ไขต่อได้ ซึ่งถ้าใช้ GitHub อยู่แล้วเนี่ย ก็จะรู้ว่า อย่างภาษา Flutter หรือ Dart
หรือ C# เองเนี่ย เขาก็เป็น open source ถ้าคุณอยากใช้ คุณมีปัญหาอะไร คุณก็สามารถเข้ามาในตัว source code แล้วก็เปิด issue เปิด PR คุณอยากแก้ไขอะไร คุณก็สามารถ เข้าไปคุยแล้วก็แก้ไขตรงๆ ได้เลย กับทีมที่ดูแลตรงนี้อยู่แล้ว งานของผมก็จะเป็นประมาณนี้ ก็คืองานเป็น open source developer full time
เราออกจากงานมาได้ตั้งแต่ช่วงมกราคม ก่อนหน้านี้เราทำงานเป็น platform engineer อยู่ที่บริษัทนึง แล้วเขาเกิด layoff เขา layoff พนักงานออกหมดเลย ทีนี้พอเขาโดน layoff เราก็ต้องออกมาหางานทำ แต่ว่าสิ่งที่เราทำ เราคิดว่า
เราไม่อยากเอาเวลาไปพัฒนาให้แบบว่า เราอยากเอาเวลามาทำสิ่งที่เราชอบ ก็คือเหมือนกับว่าเราเห็นปัญหาอย่างนึง แล้วก็พัฒนา software ขึ้นมาเพื่อแก้ไขปัญหาตรงนั้น ผมก็เลยคิด ว่า งั้นเดี๋ยวค่อยหางานแล้วกัน อยากเอาเวลามาทำเป็นตัว open source full time ก่อน แล้วก็ทำต่อมาเรื่อยๆ จนประมาณ 9 เดือน 8-9 เดือน 10 เดือนแล้วตอนนี้ ถ้าตอนนี้ยังไม่ได้งานก็คือ 10 เดือนแล้วล่ะ แต่ว่าเดี๋ยวจะอธิบายให้ฟังว่าทำไม ถึงยังอยู่ในบริษัทอยู่ อะไรอย่างงี้เนาะ แน่นอนว่าพอ framework เนี่ย มันค่อนข้างที่จะดังระดับนึง ถ้าใครรู้จักกับช่องที่ชื่อว่า Fireship เนาะ มันจะเหมือนกับว่าเป็น channel YouTube อันนึง ที่ developer ตามเยอะมากๆ แต่ว่ามันเป็นภาษาอังกฤษ ถ้าใครดูพวกนี้อยู่ ตัว Fireship เนี่ย เขาค่อนข้างที่จะเป็นช่องที่ดังมากๆ แล้วก็เอา open source ของเราไปบอกว่า เนี่ย มันมี framework ตัวนี้ มันสามารถเอาไปใช้นู่นนี่ได้นะ ก็ค่อนข้างที่จะดีใจระดับนึงเหมือนกัน เกริ่นนำไปค่อนข้างเยอะละ เพราะฉะนั้นก็เดี๋ยวเข้าเรื่องก่อนเลยละกันเนาะ หัวข้อแรกก็คืออยากมาพูดว่า
เราเป็น open source developer แหละ
GitHub สำหรับ Open Source Developer - เครื่องมือและประโยชน์5:00
แล้วเราสามารถทำอะไรกับ GitHub ได้บ้าง หรือ GitHub เนี่ย มันสามารถที่จะให้อะไรเราได้บ้างเนาะ ในเมื่อมันเป็นงาน GitHub Universe แล้วก็ต้องพูดถึง GitHub หน่อยเนาะ มันก็มี GitLab Git นู่น Git นี่ แต่ว่าส่วนใหญ่แล้วผมก็อยู่บน GitHub ซะมากกว่าเนาะ เพราะว่ามัน CI/CD ดี หลายๆ อย่างดี
แล้วก็มันคนใช้เยอะสุด ผมก็เลยคิดว่า ก็ดี แถมพอแจกของค่อนข้างเยอะด้วย open source ก่อนเลย คำถามก็คือ open source คืออะไรเนาะ ในนี้ถ้าใครเป็น developer ก็อาจจะรู้จัก open source อยู่แล้ว แต่ว่าลองมาดูความหมายของมันก่อนนิดนึงเนาะ ถ้าความหมายของมันเนี่ยก็คือ ตามนิยามมันเลยก็คือ software ที่ ตัว source code ต้นฉบับเนี่ย มันสามารถเข้าถึงได้โดยทั่วไป แบบว่าไม่มีข้อจำกัดอะไรเลย แล้วก็คุณอาจจะเอา source code ตรงนี้ ไปแก้ไข หรือว่าเอาไปแจกจ่ายต่อ
แบบว่าเอาไปลงแผ่นหรือว่านู่นนี่ เผื่อตอนนั้นยังไม่มีอินเทอร์เน็ตอะเนาะ แต่เดี๋ยวนี้ก็มีละ ทุกคนก็เข้าไปใน GitHub หมดละ อันนั้นน่ะคือหลักๆ ของคำว่า open source เนาะ แต่แน่นอนว่าคำจำกัดความของมันเนี่ย ค่อนข้างที่จะยาวมากๆ เลย
มันแน่นอนแหละว่า ถ้าจำกัดความมันยาวแล้ว มันก็ต้องนู่นนี่หรือเปล่า บางคนก็กลัวว่า เรามีข้อจำกัดอะไรหรือเปล่า มันมีบางอย่าง
ที่น่าจะมีอะไรมากกว่านี้หรือเปล่า แต่จริงๆ แล้ว การทำ open source มันก็คือการที่เราเอา product ของเรา ซอฟต์แวร์อาจจะเขียนเล่นๆ ก็ได้ เป็น calculator ง่ายๆ ใน class มหาลัย เอาขึ้นอัปโหลดไปบนเว็บ แล้วก็ให้คนอื่น สามารถเข้ามาอ่านต่อได้ อะไรประมาณนี้ ที่จริงแค่นั้น แค่เราเ รื่อง license ดีๆ หรือว่าอะไรพวกนี้ เราเอาโค้ดที่เราไม่ใช้แล้ว เอามาแจกต่อ แล้วเอาขึ้นมาเป็นบน Git ก็ถือว่าเป็น open source แล้ว เพราะฉะนั้น แน่นอนว่าความจำกัดความ มันค่อนข้างน่ากลัว แต่จริงๆ แล้ว มันไม่ได้มีอะไรน่ากลัวเลย มันก็คือ source code ที่เราเปิดให้คนอื่นสามารถ
เข้าถึงได้ แค่นั้นเอง
ตัวอย่าง Open Source เล็กๆ น้อยๆ ก็มีประโยชน์7:04
ก็แน่นอนว่ามันมี open source หลายๆ ตัว อย่างเช่น ถ้าเรารู้จักก็คงเป็น Flutter
เหมือนเป็นภาษากับ framework เนาะ Flutter กับ Dart ก็เป็นภาษา framework ที่เอาไว้สร้าง mobile app อะไรประมาณนี้ พวกนี้เค้ าก็จะ open source มาให้เราใช้ได้ แต่ในความเป็นจริงแล้ว คือเค้า open source มันไม่ต้องเป็นอะไรที่ยิ่งใหญ่ก็ได้ มันอาจจะเป็นเว็บง่ายๆ เลย เช่น ผมดูอนิเมะเรื่องนึงชื่อ Cells at Work
มันเป็นเรื่องเกี่ยวกับอธิบายว่า ร่างกายมนุษย์ทำงานยังไงเนาะ แต่ว่าใช้ตัวอนิเมะแทน ทีนี้มันก็มี น้องตัวนึงที่ค่อนข้างน่ารัก ชื่อว่าน้องเกล็ดเลือด
เหมือนกับว่าเป็นน้องน่ารักมาก ผมก็เลยทำเว็บอันนึงขึ้นมา เอา capture จอจากในอนิเมะมา 2 เฟรม คือภาพน้องเกล็ดเลือดอันนึงที่เหมือนจะโดนจิ้ม แล้วก็อีกอันนึงก็เหมือนจิ้ม อะไรประมาณนี้ แล้วก็ทำเป็นเว็บขึ้นม า แล้วถ้าคุณกดที่เว็บ มันก็จะเป็นการจิ้มตัวนี้นะ อะไรประมาณนี้ ก็ค่อนข้างที่จะน่ารักดี แต่ว่าจริงๆ แล้ว อาจจะเห็นว่า ตัวนี้มันก็เป็น open source เหมือนกัน มันไม่จำเป็นต้องเป็นอะไรที่ยิ่งใหญ่ก็ได้ ไม่จำเป็นต้องเปลี่ยนแปลงโลกได้ขนาดนั้น มันอาจจะเป็นซอฟต์แวร์ตัวนึงที่เราสร้างขึ้นมา
มันจะเป็นอะไรก็ได้ ไม่มีความจำกัดความ ว่า มันต้องยิ่งใหญ่ขนาดนั้น ต้องมีคนเอาไปใช้ต่อได้ หรืออาจจะไม่มีคนใช้ต่อก็ได้ แต่ว่าเราเอาโค้ดให้คนอื่นสามารถเข้าถึงได้ แล้วแจกจ่ายได้ แค่นั้นก็เป็น open source ละ
License สำคัญอย่างไร? - เลือกให้เหมาะกับงาน8:28
ซึ่งแน่นอนว่ามันก็มีตั้งแต่ระดับเล็ก อย่างที่ผมบอกไปคือน้องเกล็ดเลือด แล้วก็ไปถึงระดับใหญ่ที่บริษัทอื่น
สามารถเอาไปใช้ต่อได้ แล้วเค้าสามารถ เอามาแบบว่า โห ตัวซอฟต์แวร์ตัวนี้ดีอ่ะ เราอยากสนับสนุน อะไรประมาณนี้เนาะ มันก็มีตั้งแต่ระดับเล็ก ระดับใหญ่ มันไม่ได้มีความจำกัดความอะไรเลย ไม่มีความน่ากลัวอะไรเลย คนแค่เอา source code ของตัวเอง ขึ้นไปบน GitHub แล้วก็เรื่อง license ให้มันเป็น open source แค่นั้นน่ะ จบละ มันก็เป็น open source เรียบร้อยละ
แน่นอนว่า มันก็พอ มันเป็นซอฟต์แวร์ระดับใหญ่เนาะ มันก็มีพวก documentation อะไรประมาณนั้น แต่ว่าจริงๆ แล้ว มันก็ไม่จำเป็นต้องมีก็ได้ ถ้าคุณใช้เอง หรือใช้กับเพื่อน อาจจะไม่มีคนเข้ามาเลยก็ได้ แต่ถ้าคุณใช้กับเพื่อน 2 คน 3 คน หรือในกลุ่ม คุณสามารถอธิบายให้เขาเข้าใจได้ ทำยังไงก็ได้ให้ซอฟต์แวร์ของคุณเข้าถึงได้โดยง่าย
ถ้าคนใช้เยอะ คุณก็เขียนเอกสารอ้างอิงนิดนึง ว่าตรงนี้มันใช้ยังไง แต่ถ้าใช้ในกลุ่ม หรือส่งในคลาสเรียนมหาลัย ถ้าอธิบายได้ ก็ไม่ค่อยมีปัญหาแล้ว ก็ถือว่าเป็นโอเพ่นซอร์สอยู่ดีเนาะ
ไม่ต้องเก่งก็ทำ Open Source ได้ - เริ่มจากสิ่งง่ายๆ9:33
ทีนี้ในการทำโอเพ่นซอร์ส มันก็จะมี license หลายอัน เช่น Apache license, MIT license อะไรพวกนี้ จริงๆ แล้วคนก็เลือกสักอันนึง
ถ้าคุณไม่ได้ซีเรียสอะไรมาก เป็นงานเล่นๆ คุณก็ใช้ MIT license ไปเลยก็ได้ คนสามารถเข้าถึงได้ เอาไปแจกจ่ายต่อได้ แต่ว่าถ้าคุณทำอะไรที่เริ่มใหญ่ขึ้นมานิดนึง ก็ลองดูเรื่อง license นิดนึง ว่าคุณไม่อยากให้คนเอาไปใช้โดยไม่จ่ายตังค์หรือเปล่า มันก็จะมีหลายอันที่เราทำโอเพ่นซอร์ส แล้วมีบริษัทใหญ่ๆ หยิบไปใช้ แล้วไม่สนับสนุนอะไรเลย แต่เขาเอาไปขายต่อได้ เราก็ต้องเลือก license ให้ดีๆ นิดนึง แต่ว่าตอนนี้ยังไม่จำเป็นต้องกังวลมากขนาดนั้นเนาะ คำถามคือ แล้วการที่จะมาเป็นโอเพ่นซอร์ส developer เนี่ ยมัน...
โหมันคุณต้องเก่งมากๆ หรือเปล่า ถ้าไปดูที่รีโปของผมเนี่ย ผมมีรีโปเปิดอยู่ประมาณ 278 อันที่เป็น public เนาะ ก็ในนั้นเนี่ยมันมีตั้งแต่แบบ ผมเริ่มตั้งแต่ 1 2 3 มีตั้งแต่ calculator ง่ายๆ เลย จนช่วงแรกๆ ที่เขียนก็คือ อยากทำเว็บดูตารางสอน ในสมัยก่อนเนาะเรามีตารางสอนเป็นกระดาษ แล้วก็รู้สึกว่าอยากให้มันสามารถ search นู่น search นี่ได้ แล้วก็เป็นเว็บง่ายๆ คนเข้าไปดูแล้วก็ ดูว่าตารางเวลามั้ยหรือว่าวันไหนเรียนอะไรบ้าง
ผมก็เริ่มจากของง่ายๆ calculator เว็บดูตารางสอนเอาไว้ใช้เอง แล้วก็แชร์ไปให้เพื่อนใช้บ้าง
ประโยชน์ของการทำ Open Source - เรียนรู้จากประสบการณ์จริง11:09
ถ้าฟังดูแล้วมันก็ทั้งเรื่อง calculator ง่ายๆ เครื่องคิดเลข หรือเว็บอ่านตารางสอนเนี่ย มันก็ไม่ได้มีอะไรซับซ้อนเนาะ แต่ว่ามันก็สามารถที่จะ ในเมื่อเราสามารถทำขึ้นมาแล้ว
เราก็สามารถเอาไปใช้เองได้ ทำไมเราถึงไม่ลองให้คนอื่นใช้ดูล่ะ อย่างเว็บอ่านตารางสอนที่ผมเคยทำเนาะ ผมก็ลองให้เพื่อนข้างๆ ลองหยิบไปใช้ดู มันก็ได้อะไรค่อนข้างที่จะดีกลับมา มันไม่จำเป็นที่จะต้องเอาไปขาย หรือว่ายิ่งใหญ่ขนาดนั้น มันจะเป็นแบบง่ายๆ ที่มันสามารถใช้ได้ แค่นั้นน่ะมันก็โอเคถือว่าเป็น open source ที่ดีแล้วล่ะ การที่มันมีคนเอา product เราไปใช้ แล้วมันเอาไปใช้ต่อได้แล้วมันได้ประโยชน์ มันก็ถือว่าเป็น open source ที่ดีแล้ว ไม่จำเป็นต้องเป็นอะไรที่ยิ่งใหญ่ ขนาดที่แบบว่าเป็น OpenAI แบบ generate แชท
ไม่จำเป็นต้องขนาดนั้น เราก็ไม่ได้เก่งกันขนาดนั้นเนาะ เราก็แค่อยากทำอะไรที่คนมันใช้ได้ แน่นอนแหละว่าพอทำมาเนี่ย
มันก็ค่อยๆ ใหญ่ขึ้นมาเรื่อยๆ จากเว็บอ่านตารางสอนมาเป็น framework ของ Flutter หรือเว็บเอาไว้อ่านการ์ตูนใช้เองชนิดนึง หรือว่าจนกระทั่งเนี่ย เมื่อทำโอเพ่นซอร์สมาประมาณ 4-5 ปีละ ก็คือเรียนไปด้วย แล้วตอนทำงานเนี่ย เอาเวลาว่างมาทำสิ่งที่ตัวเองอยากทำไปด้วย ส่วนใหญ่มันก็ไม่ได้ยิ่งใหญ่ขนาดนั้น ก็เป็นเว็บง่ายๆ ที่แบบว่า เอ้ย อย่างเช่น ผมมีรูปในเครื่องเยอะ แต่มันเสิร์ชไม่ได้เนาะ ผมก็เลยเขียนเว็บเอาไว้แบบ อัพโหลดรูป แล้วก็ติดแท็กให้มัน เวลาเสิร์ชจะได้หาเจอเร็วๆ อะไรประมาณอย่างเงี้ย จนแบบมาถึงเรื่อยๆ มาเป็นเฟรมเวิร์กที่คนเอาไว้ใช้บ้างนิดหน่อย แล้วก็มาเป็นเฟรมเวิร์กที่คนเอาไปใช้เยอะ อะไรประมาณอย่างเงี้ย จนมันค่อยๆ ขยับ จากเล็กๆ น้อยๆ แล้วค่อยๆ ใหญ่ขึ้นเรื่อยๆ
นั่นแหละคือประสบการณ์ของการทำโอเพ่นซอร์ส มันคือแบบว่า เอ้ย คุณก็ทำ ทำไปเลย แล้วก็ได้อะไรสักอย่างกลับมาเนาะ
ทุกอย่างเป็น Open Source ได้ - แค่แชร์ก็มีค่า13:13
แน่นอนว่ามันอย่างที่บอกก็คือ ทั้งหมดที่กล่าวมาเนี่ย มันเป็นโอเพ่นซอร์สได้ทั้งนั้น
ไม่ว่ามันจะเป็นเว็บกดตัวการ์ตูน
นี่มันจะมีคนใช้จริงๆ หรอวะ
แต่คือมันก็เป็นโอเพ่นซอร์ส สุดท้ายมันก็เป็นโอเพ่นซอร์สอยู่ดี มันก็คือซอร์สโค้ดที่คนเปิดเผย มันอาจจะมีคนเอาไปใช้หรือไม่มีคนเอาไปใช้ บางคนแบบว่า อย่างเมื่อสัปดาห์ที่แล้ว ไอ้เว็บที่ผมเอา ไอ้เว็บเกล็ดเลือด
ตัวกดตัวการ์ตูน มาให้ดู เพราะว่าเมื่อสัปดาห์ที่แล้วอ่ะ มันมีคนมาเปิด issue ว่า กดแล้วเสียงมันหาย แล้วก็เปิด PR เข้ามาช่วยแก้ให้หน่อย เพราะเขาอยากกด ซึ่งคือแบบว่า ใครมันจะมาใช้ เปิดซอร์สโค้ดทิ้งไว้ 4 ปีที่แล้ว แล้วก็มาเปิด PR ใหม่เมื่อสัปดาห์ที่แล้ว ผมก็ต้องกด merge แล้วก็แบบ เอ้ย มันใช้ได้ละนะ อะไรประมาณอย่างงั้นน่ะ มันอาจจะแบบว่า เอ้ย มันก็ประหลาดดี ที่แบบมันมีคนมาใช้อะไรที่คิดว่า มันดูโง่ๆ ง่ายๆ อ่ะ แต่คือสุดท้าย มันก็มีคนมาใช้จริงๆ ซึ่งมันก็ค่อนข้างตลก เพราะฉะนั้นเนี่ย ถ้ากังวลว่า โอเพ่นซอร์สของคุณมันจะดูเรียบง่าย หรือว่าโง่เง่าขนาดไหน สุดท้ายเนี่ย มันก็อาจจะมีคนมาใช้อยู่ดีเนาะ เพราะฉะนั้นเนี่ย ถ้าคิดว่าอะไรที่มันง่ายไป ไม่ต้องอัพโหลด คุณค่อนข้างจะเสียโอกาส เพราะว่าทุกอย่างมันสามารถเอามาเป็นหลักฐาน ในการทำนู่นทำนี่ได้ มันเป็นหลักฐานได้ว่า คุณเคยทำอันนี้ขึ้นมา แล้วเวลาที่คุณลืมไป คุณจะสามารถเปิดซอร์สโค้ดดูตรงๆ ได้เลย ก็อันนี้ ถ้ารู้จักผมก็มันจะมีเว็บอ่านการ์ตูน
ประเภทนึงที่ผมเคยทำมาใช้เอง เพราะว่าผม ค่อนข้างรำคาญโฆษณาเว็บนึง แล้วผมอ่านเนาะ แล้วเจอโฆษณาค่อนข้างรำคาญ ก็เลยทำเว็บ
Open Source สอนอะไรบ้าง? - เตรียมพร้อมสู่โลกการทำงาน15:00
โคลนตัวเว็บอันนั้นขึ้นมา ตอนนั้นก็คือก่อนที่ ผมจะเริ่มเขียนเว็บเป็น ก่อนจะเริ่มเขียน React เป็น ผมก็อยากเรียน React แต่ว่าไม่รู้จะเอา โปรดักไปทำ ไม่รู้จะเอาอะไรไปเขียนดี ผมก็เลย เอ้ย ในเมื่อมันเกิดปัญหาแล้วว่า อ่านการ์ตูนแล้ว มันติดโฆษณา ทำไมเราไม่ลองโคลนเว็บอ่าน การ์ตูนอันนั้นขึ้นมา โดยที่มันไม่มีโฆษณาดูล่ะ อะไรประมาณอย่างเงี้ย ผมก็เริ่มจากตรงนั้นแหละ ที่แบบเขียนไม่เป็น แทบจะไม่เป็นเลย จนค่อยๆ พัฒนาขึ้นมา ลองเอา React ไปเขียนอันนู้นอันนี้ component นู้น component นี้ ด้วยเหตุผลที่ว่า อยากอ่านการ์ตูน แต่มันมีโฆษณา เราอยากให้
มันไม่มีโฆษณา เราก็เลยทำของตัวเอง แต่ด้วย การที่เราทำของตัวเอง เราก็เลยรู้ได้ว่า เวลามัน พัฒนาอะไรขึ้นมาสักอย่างนึง มันต้องใช้วิธีอะไร หรือมันบังคับให้เราไปเรียนรู้ ก่อนที่เราจะไปเจอ ในงานจริงๆ ว่าตรงนี้มันน่าจะมีปัญหานะ เพราะ ตรงนี้ปกติเขาเรียนรู้กันยังไง อะไรประมาณ อย่างเงี้ย มันเหมือนเป็นการซ้อมก่อนว่า ของที่ คุณจะเจอในหน้างาน คุณมาเจอในงานทำเล่น
ที่คุณทำ เพราะฉะนั้น ไม่ว่ามันจะพังหรือไม่พัง มันก็ไม่มีปัญหา เพราะมันคือสิ่งที่เราเอามาใช้เอง มันจะไม่เหมือนกับว่า คุณเผลอไปลบ production database ของบริษัท แน่นอนว่ามันก็จะเกิดความ บรรลัยนิดนึง แต่ถ้าเราเผลอไปลบ production database ของตัวเอง โอเค อย่างน้อยคือมันก็ บรรลัยแหละ แต่ว่าเราใช้เองไง มันไม่มีผลกับว่า เราจะโดนฟ้อง เราจะโดนเก็บตังค์รึเปล่า หรือมัน ก็เป็นประสบการณ์เรียนรู้ที่เราสามารถได้มาจาก การทำอะไรสักอย่างขึ้นมา มันก็คือการทำของ ที่เรามี แล้วก็โยนขึ้นไปเป็น open source เพราะฉะนั้น สกิลแทบจะร้อยทั้งร้อยที่ผมได้
แทบจะมาจากการที่แบบ มันมีปัญหานู้น แล้ว
อยากเอามาทำ อยากมาแก้เอง แล้วพอแก้เสร็จ คุณก็เอาโค้ดที่เรามี เอาไปขึ้นบนเน็ต ว่า ถ้าใคร
เจอปัญหาเหมือนเรา หรือเจอว่าอยากอ่านการ์ตูน แบบไม่มีโฆษณา คุณก็เอาเว็บตัวนี้ไปใช้รันเลย อะไรประมาณอย่างเงี้ย แน่นอนว่าเราได้สกิลตอน ทำ แล้วก็มีคนเอาไปใช้ ก็คือผมก็ใช้เองคนนึง แล้วก็มีเพื่อนเอาไปใช้ แล้วก็มีเพื่อนของเพื่อน เอาไปใช้ต่อ แล้วก็มีเพื่อนของเพื่อนของเพื่อน เอาไปใช้ต่อ อะไรประมาณอย่างเงี้ย มันแทบจะ ได้ประโยชน์กันทุกคนเลย ทั้งๆ ที่เราแค่อยาก เขียนอะไรสักอย่างมาใช้เอง แต่มันดันมีประโยชน์ ค่อนข้างเยอะอะไรประมาณอย่างเงี้ย เพราะฉะนั้น ไม่ว่าอะไรก็ตาม คุณไม่ต้องกลัวว่างานมันจะ ไร้สาระแค่ไหน คุณอัปโหลดขึ้นไปเลย ไม่ต้อง มีปัญหาเลย ยิ่งการที่คุณอัปโหลดโค้ดของคุณ ขึ้นไป มันจะยิ่งเห็นเลยว่า คนที่มีประสบการณ์ มากกว่าเขาสามารถมาชี้แนะคุณได้ ก่อนที่คุณ จะทำงานอีกว่า ตรงนี้มันอาจจะมีปัญหานะ คุณลองแก้ตรงนี้ ตรงนี้ ตรงนี้ ใช้วิธีนี้ดู มันจะเหมือนกับว่ามีคนคอยสอดส่องดูว่า มีปัญหาอะไรหรือเปล่า ซึ่งก็ค่อนข้างดีเนาะ
ข้อดีของการแชร์ Open Source - ได้รับคำแนะนำและพัฒนา17:52
เพราะว่าเราไม่ค่อยได้เจอแบบพี่มาอบรมว่า
เหมือนพี่ซีเนียร์ เหมือนตอนเริ่มเป็นจูเนียร์ ในบริษัท ก็มีพี่ซีเนียร์มาคอยประกบว่า ตรงนี้ทำอย่างนี้ก็ได้นะ แต่ทำแบบนี้ดีกว่า ในการทำโอเพ่นซอร์ส ไม่ว่าคุณจะเก่งแค่ไหน แทบจะร้อยทั้งร้อย คุณจะเจอ ประสบการณ์แบบนั้น แทบจะตลอดว่า ตรงนี้น่าจะแก้เป็นอันนี้ดีกว่า
แล้วเราก็ได้พูดคุยกัน ได้หลายๆ อย่าง ค่อนข้างที่จะเยอะ ถึงแม้เราจะไม่เคยเจอหน้ากัน นั่นน่ะ มันเป็นสกิลที่เราได้จากการทำโอเพ่นซอร์ส เราได้ทั้งสกิล ได้ทั้งหลักฐานว่าเราเคยทำโน่นนี่ เราได้ build audience ก็คือแบบว่า เว็บอ่านการ์ตูนของผม ก็ไปแชร์ใน Twitter แล้วมันก็มีคนแบบ เอ้ย อันนี้มันก็ดีนี่หว่า แล้วเค้าก็กดตามงานมาเรื่อยๆ เหมือนกับเป็นการ build profile ประเภทนึงเนาะ แน่นอนว่าสิ่งที่สำคัญที่สุด นอกจากคุณได้สกิล ได้ผลงานตัวเอง ได้หลายๆ อย่าง ได้ build audience สิ่งที่สำคัญที่สุดก็คือคุณได้สนุกกับการทำสิ่งที่คุณทำ เพราะมันเป็นงานที่คุณอยากทำเอง เพราะฉะนั้น พอคุณทำไปแล้ว มันติดนิดนึง มันจะไม่มีใครบังคับว่า คุณต้องทำให้เสร็จ 8:00 น. คุณต้องทำอันนี้ให้เสร็จเนาะ มันเหมือนเป็นการสร้างระเบียบวินัยให้ตัวเองว่า เราอยากใช้อันนี้ มันเหมือนมีแรงผลักดันบางอย่าง ที่บังคับให้เราทำ เพราะเราสนุกกับมัน นั่นน่ะ คือหัวใจหลักของการทำโอเพ่นซอร์ส ก็คือคุณสนุกกับมัน ก็คือโอเคแล้วล่ะ
Open Source Developer Full-time - ทำงานอย่างไร?19:25
โอเค แน่นอนว่าพอเราทำโอเพ่นซอร์สมาเยอะเนี่ย บางคนตัดสินใจที่จะแบบว่า
เอ้ย เรารู้สึกว่าเราอยากเอาเวลาของเราเนี่ย ทั้งหมดเลยเนี่ย ไม่อยากเอาไปทำงานให้ใครละ เราอยากเอามาพัฒนาโปรดักต์ตัวเอง ให้คนอื่นเอาไปใช้ต่อ ซึ่งมันก็มีหลายๆ คนเนาะ อย่างเช่นแบบว่า เอ้ย ลาออกมาเปิดบริษัทตัวเอง แล้วก็มาเปิด startup ตัวเอง แล้วก็แบบ เอ้ย ขายของได้ อะไรประมาณอย่างเงี้ย ตัวโอเพ่นซอร์ส developer เนี่ย ค่อนข้างจะคล้ายๆ อย่างงั้น แต่ต่างกันตรงที่ว่า เราไม่ได้เอาของไปขายใครแต่แรก ก็คือเราพัฒนาโปรดักต์ของเราขึ้นมาเนี่ย เพื่อให้โปรแกรมเมอร์คนอื่นเอาไปใช้เนาะ เหมือนกับว่า เอ้ย Facebook เนี่ย เค้าก็พัฒนา library React ตัว Vue เนี่ย วิวค่อ นข้างที่จะเห็นชัดสุดเลย ถ้าเขียนเว็บเนาะ มันจะมีเฟรมเวิร์กตัวนึงชื่อ Vue เหมือนว่า เอ้ย มันมีคนคนนึงเนี่ย เค้ารู้สึกว่า font end เนี่ยมันเขียนยากว่ะ เค้าก็เลยพัฒนาเฟรมเวิร์กตัวนึง แล้วก็คนก็เอาไปใช้ต่อ จนทุกวันนี้ คนรู้จักกันกับเฟรมเวิร์กตัวนี้ว่า Vue เนาะ คนเอาไปใช้แบบมหาศาลมาก
ถึงกับว่าไอ้ตัว SpaceX เนี่ย ก็เอาไปใช้เองด้วย เพราะว่า SpaceX เนี่ย มันจะมีจรวด Dragon ของเค้าเนาะ ตัว interface ของเค้าเนี่ย ใช้ Vue ในการเขียน ซึ่ง เอ้ย เราเขียนซอฟต์แวร์อยู่บ้าน แล้วทำไมซอฟต์แวร์เราถึงไปใช้บนจรวดได้ อะไรประมาณนี้น่ะ มันก็มีอะไรให้ตกใจค่อนข้างเยอะ ก็ถือว่าเป็นสีสันดี แต่ว่าการที่จะมาถึงตรงนั้นน่ะ พอมันมีคนเอาไปใช้เยอะมากๆ เนี่ย แน่นอนว่า
มันก็แบบว่า ค่อยๆ มีคนมาสนับสนุน
บริษัทเอาไปใช้เนี่ย เราอยากโดเนทให้คุณนะ เพื่อคุณจะเอาเวลาที่คุณมีเนี่ย มาพัฒนาตรงนี้ให้เป็น full-time เลย ประมาณอย่างงั้นเนาะ
การหาเงินจาก Open Source - ยอดดาวน์โหลดไม่ใช่ทุกอย่าง21:10
แน่นอนว่า ถ้าคุณสร้าง product open source จาก 0 ดาว 1 ดาว 2 ดาว มาเรื่อยๆ 3,000 ดาว 4,000 ดาวเนี่ย
ในช่วงนั้นแหละ คุณหาเงินไม่ได้หรอก เพราะมันยังไม่มีคนใช้เนาะ ลองคิดดูว่า ในห้องนี้มีใครใช้ framework แล้วเคยไปสนับสนุนเงินให้คนสร้างบ้าง ผมค่อนข้างมั่นใจว่า 99 คน จะมีแค่ 1 คนที่แบบว่า วันนี้อารมณ์ดี ไปเปิด GitHub ดูดีกว่า คนนี้เค้าใช้สร้าง framework ในโปรเจคเรา มา 200 ตัวละ เราโดเนทให้เค้าสักบาท 2 บาท หรือเหรียญ 2 เหรียญแล้วกัน ซึ่งใน 100 คน ก็จะมีสัก 1 คนที่เป็นอย่างงั้น มันไม่ค่อยมีคนที่แบบว่า อุ้ย วันนี้อารมณ์ดีจังเลย อยากไปโดเนท ไม่มี ไม่ค่อยมี แน่นอนว่า พอคนเริ่มใช้เยอะ มันก็จะมี issue มี community ว่า DM มาหาเรา เราเจอปัญหานี้ คุณช่วยแก้ให้หน่อย มาเปิด issue มาเปิด PR เนาะ พอมันมีระดับแบบ 5,000 ดาว 10,000 ดาว
คนก็เข้ามาใช้เยอะขึ้น ถ้าตัว framework ของผม ไปดูใน NPM มันจะมียอดดาวน์โหลดอยู่ที่ประมาณ 3,000 ไม่ก็ 10,000 ต่อสัปดาห์ ซึ่งมันก็มีคนใช้ค่อนข้างเยอะ แล้วก็มีคนแบบว่า เราเจอบั๊กตรงนี้ นายแก้ให้หน่อย ซึ่งแน่นอนว่า มันค่อนข้างเยอะมากๆ ในวันนึง บางอันมันแก้ยาก บางอันมันแก้ง่าย แน่นอนว่าใน 1 วัน นอกจากที่เราเอาเวลาพัฒนา software
การบริหารเวลาของ Open Source Developer - ไม่ได้เขียนโค้ดอย่างเดียว22:48
ของเราไปพัฒนา 100% เราต้องแบ่งจาก 100% นั้น มาคอยตรวจสอบ community ดูว่ามีคนรีพอร์ตบั๊กหร ือเปล่า มีคนเปิด pull request หรือเปล่า ค่อนข้างเสียเวลาค่อนข้างเยอะ แล้วคุณก็ต้องเอาเวลาไปอัพเดท ตัวเอกสาร documentation ของคุณ ถ้ามีคนมาใช้ แล้วเราเพิ่ม feature ใหม่ เราก็ต้องมาแก้ไขอีก
เพราะฉะนั้น ในการเป็น open source แบบเปิด 100% มันไม่มีการที่เรา จะได้เขียนโค้ด 100% เนาะ ถ้าให้พูดตรงๆ ก็คือผมเขียนโค้ด สักประมาณ 40%
อาจจะโชคดีหน่อยก็ 50% แต่เวลาที่เหลือเนี่ย เราเอาเวลาไปคุยกับคนอื่นมากกว่า ว่าเอ้ย มันจะปัญหาตรงนู้น มันจะปัญหาตรงนี้ แล้วก็คุยกันว่า แกยังไง วางแผนซะส่วนใหญ่ มากกว่า ที่จะเอาเวลาไปเขียนโค้ดเนาะ มันเหมือนกับว่าเป็นการทำงานให้ตัวเองย่อยๆ เลย คุณต้องคิดแทบจะทุกอย่างเลยว่า เอ้ย plan ในอนาคตเนี่ย product ตัวเนี้ย ถ้าเราเพิ่ม feature A feature B ไปแล้วเนี่ย มันจะเกิดปัญหากับ feature C หรือเปล่า ซึ่งมันก็ค่อนข้างที่จะมีอะไรเยอะ แต่ว่าแน่นอนว่ามันไม่ได้เขียนโค้ด 100% หรอก
แต่มันก็เป็นอะไรที่ค่อนข้างสนุกระดับนึงเหมือนกัน
Discord และ Slack - ช่องทางสื่อสารสำคัญของ Open Source Community24:00
ถ้าไปดูบน Discord เนาะ
อย่างถ้าไปดูในแบบว่า เอ้ย คนที่ทำ open source เนี่ย มันจะมี Slack อ่ะ อย่าง Prisma เนี่ย เขาก็จะมี Slack คุณเกิดปัญหาอะไรเนี่ย คนก็เข้า join ไปใน channel แล้วก็ เอ้ย โอ้โห เราเจอบัคตรงเนี้ย เราอยากคุยกับ core team หรือแบบ เอ้ย เรามี feature อยากได้ แล้วก็อยากไปคุยกับ core team อะไรประมาณเนี้ย แน่นอนว่า GitHub เนี่ย ถึงแม้ว่าจะมี issue มี pull request มี Kanban board หรือว่าอะไรประมาณงั้น
แน่นอนว่าเรามีโปรแกรมแชทสำหรับคุยตรงๆ อ่ะ มันเข้าถึงง่ายกว่า อย่างเช่น Discord หรือ Slack อะไรประมาณเนี้ย มันสามารถแบ่งเป็นห้องๆ ได้เลย ว่าเอ้ย ห้องเนี้ย อยากได้ help ห้องนี้อยากได้ feature request อะไรประมาณเนี้ย แน่นอนว่าเวลาการทำ open source ส่วนใหญ่เนี่ย มันแทบจะมาอยู่กับตรงนี้ ก็คือคุณอาจจะไม่มีทางได้เขียนโค้ด 100% แน่นอน คุณจะต้องเอาเวลาเขียนโค้ดของคุณเนี่ย ไปคุยกับคนอื่นว่า มันเกิดปัญหาอะไรขึ้น แล้วเราจะเอาไปพัฒนาต่อยังไงมากกว่า
ซึ่งมันน่าจะไม่ต่างกับการทำบริษัททั่วไปเลย คือคุณต้องคุยกับคน แต่เยอะมากๆ แต่ปัญหาคือคนที่คุณคุยเนี่ย มันไม่ใช่เจ้านาย ไม่ใช่เพื่อนร่วมงาน มันเป็นลูกค้าที่ใช้ product ของเราอยู่ตรงๆ เพราะฉะนั้นเนี่ย มันแทบจะเป็นการใช้ skill ระดับนึง ว่าเอ้ย ถ้าคุณอยากทำนะ คุณอยากแบบวันนึงคุณไม่อยากทำ open source ละ อย่างน้อยคุณก็ได้ skill มาแบบคุยกับลูกค้า ต่อรองนู่นนี่ได้ มันแทบจะเป็น skill ที่ค่อนข้างหายาก แต่มันได้จาก open source ระดับนึงเหมือนกัน
การสร้าง Audience และรับ Feedback - ประโยชน์ที่เหนือกว่างานบริษัท25:34
พอใช้ต่อมาเรื่อยๆ เนี่ย แน่นอนว่าพอคนใช้เยอะ มันก็ต้องมีการดู audience เนาะ เอ้ย เราสร้าง framework อยู่ๆ มีคนมาแท็กเรา เอ้ย เราเอา framework ของนาย เอา software ของนายเนี่ย
มาใช้ทำนู่นทำนี่ อะไรประมาณอย่างเงี้ย เช่นแบบมีคนติดต่อเข้ามาแบบว่า เอ้ย เราเอา framework ตัวเนี้ยไปใช้ในบริษัท แต่มันมี bug เราอยากให้คุณช่วยแก้ให้หน่อย หรือแบบใน Twitter เงี้ย เค้าก็จะชอบแท็กกันว่า เอ้ย วันนี้ เรียนอะไรมาบ้าง แล้วก็โชว์ให้ดู แล้วก็เห็นว่า เอ้ย มันมีคนแท็กชื่อ product เราว่ะ ค่อนข้างที่จะสนุกดีอะไรประมาณอย่างเงี้ย มันก็ เหมือนกับว่า มันจะต่างกับโปรแกรมเมอร์ทั่วไป ตรงที่คุณได้เห็นตรงๆ เลยว่า สิ่งที่คุณทำเนี่ย มันได้เอาไปใช้จริงๆ รึเปล่า เพราะว่าคุณเห็นแบบเค้าแท็กมาเลยอ่ะ เค้าแท็ก มาเลยว่า ตรงเนี้ยมันมีปัญหาตรงนี้ หรือว่า ตรงเนี้ยมันดีมากเลยอะไรประมาณอย่างเงี้ย คุณแทบจะเห็นร้อยทั้งร้อยเลย แน่นอนว่ามันภูมิใจแหละที่ได้เห็นงานตัวเอง มาได้ใช้ในแบบโหลดแล่นในเน็ตเนาะ
อะไรประมาณอย่างเงี้ย แน่นอนว่านอกจากว่าคุณพัฒนาแล้วเนี่ย มันก็มีคนบางคนบอ กว่า framework คุณก็ดีนะ แต่ว่าเราอยากได้เพิ่ม feature นู้นน่ะ แต่เค้าไม่รอเรานะ เค้าทำเอง ทำ plugin ของ ตัวเองแล้วก็เอามาใช้ต่อ แล้วก็เอามาแชร์ให้ เราดู เอ้ย เนี่ย เป็นเรื่องที่ดีมากเลย แต่ว่าถ้ามันมีอันเนี้ยเพิ่มขึ้นมาเนี่ย มันก็ดีนะ เราก็เลยทำให้ เพราะฉะนั้นนายเอาไปใช้ต่อ ได้เลย คือมันก็เป็นอะไรที่ค่อนข้างเจ๋งดี คุณลองคิดภาพคุณทำงานในบริษัท คุณสร้าง
product คุณสร้างเว็บขึ้นมาอันนึงเป็น Facebook แล้วอยู่ๆ มีคนบอก เอ้ย เว็บนายดีจังเลย เราเอา source code เว็บนายมาเพิ่ม feature แล้วก็ส่งกลับมาให้ คือมันทำอย่างงั้นไม่ได้ ใช่มั้ยในชีวิตจริงอ่ะ แต่ว่า open source developer เนี่ย มันแทบจะ เป็นงานเดียวที่คุณได้เจออย่างงั้นก็คือ เอ้ย เอ้ยตรงนี้เพิ่มตรงนี้หน่อย เอ้ยดีว่ะ ก็เพิ่มเข้ามาเลย เราแทบจะไม่ได้ทำ ตรงนี้เราแทบจะไม่ได้เพิ่มเองเลย แต่ว่ามีคนมา เพิ่มให้ แล้วก็เอ้ยคุณก็ดูแลไปเลย เค้าก็ได้ชื่อ แล้วก็ได้ชื่อเรา วินวินทั้งคู่ได้คนเพิ่ม อะไร ประมาณอย่างเงี้ย มันเป็น skill manage เนาะ
Open Source นำไปสู่โอกาสใหม่ๆ - งานบรรยายและการสร้าง Connection27:38
แล้วก็พอเราทำ open source เยอะขึ้นเนี่ย มันก็จะมีคนชวนมาพูดเหมือนกันนี่แหละ ก็คือ เอ้ย มันได้สร้างชื่อระดับนึงแล้ว เอ้ยคุณลองมา พูดงานนู้นงานนี้หน ่อย อย่างเมื่อ 3 สัปดาห์ที่แล้ว เนี่ยผมไปพูดงาน GraphQL Bangkok มา เอ่อ
GraphQL BKK เค้าจัดที่ เอ่อ เซเว่นพีคมั้ง ถ้าจำไม่ผิด มีคนจาก Prisma มีคนจาก Hasura มา เอ้ยแล้วก็แบบ เอ้ย เนี่ยมันเป็น product ที่เรา ใช้แบบตลอดอ่ะ ในบริษัทเก่า แล้วแบบเจอคน แบบว่าอยู่ๆ แบบ เอ้ยคนนี้เค้าเป็นคนพัฒนา core team ของ product ที่เราเคยใช้อยู่ แล้วก็ คุยกัน เอ้ยมันค่อนข้างที่จะเจ๋งดีที่เราได้มาเจอ คนพวกนี้ แล้วเราอยู่ในตำแหน่งไง แบบว่า เอ้ยเป็น speaker เหมือนกัน มันได้โอกาสที่ ค่อนข้างที่จะประหลาดมากๆ ที่เราไม่เคยคิด ว่าจะได้เนาะ อย่างสมมติเนี่ย พวกนี้แบบว่าคนได้ไปคุยกับ ส ักคนนึงอ่ะ อย่างเช่นแบบพวกนี้คนได้ไปคุยกับ Dan Abramov หรือได้คุยกับ Evan You เงี้ย คุณก็คงแปลกใจใช่มั้ย คุณคงไม่คิดหรอกว่า เอ้ย เราจะมีโอกาสได้ไปเจอเค้า แต่สักวันนึงเนี่ย เวลามันมีวาสนาเนาะจากการที่เราทำอะไรมา มันก็จะเป็นการลากให้เรา แบบว่าคนกลุ่มเดียวกัน ที่ทำอย่างเดียวกันน่ะมาเจอกัน แล้วก็ได้แลก เปลี่ยนกัน ซึ่งมันเป็นประสบการณ์ที่หายากมากๆ จากการทำ มันได้จากการทำ open source แค่อย่างเดียวเลย ผมค่อนข้างที่จะรับประกัน
แน่นอนว่า การทำโอเพ่นซอร์สเนี่ย
ไม่ต้องเก่งโค้ดก็เป็น Open Source Developer ได้ - เน้นการสื่อสาร29:00
คุณไม่ต้องเก่งขนาดนั้นหรอก ถ้าให้ผมพูดตรงๆ นะ ถ้าให้ผมเข้าลีดโค้ดเนี่ย ผมอาจจะทำข้อฮาร์ดไม่ได้ด้วยซ้ำ แต่ว่าผมสามารถที่จะทำซอฟต์แวร์ ให้คนเอาไปใช้เป็นหมื่นๆ เป็นแสนๆ คนได้ ทั้งๆ ที่ผมไม่ได้เก่งอะไรเลย ผมก็แค่เจอปัญหาที่น่าจะมีปัญหา แล้วก็เอาเวลาไปทุ่มเททำตรงนั้น เราพูดตรงๆ คือไม่ได้เก่งเลย
เราแค่เจอปัญหาที่คนอื่นเจอ แล้วพยายามแก้ แล้วก็จะมีคนเอาไปใช้ พยายามทุ่มเทในการทำขึ้นมา มันก็มีคนเอาไปใช้ มันเป็นการบิวด์โปรไฟล์ คุณมีดาวเป็นหมื่นดวง คุณต้องเก่งมากๆ แน่ๆ แต ่จริงๆ แล้วไม่ใช่ ถ้าคุณไปอ่านคนสัมภาษณ์โอเพ่นซอร์สเดฟหลายคน Google อยากจ้างงาน แต่ว่าเขาเขียนอัลกอริทึมบางอันไม่ได้ เพราะฉะนั้น จริงๆ แล้ว ไม่ต้องไปกลัวว่าคุณไม่เก่งพอหรือเปล่า แค่คุณเขียนโค้ดได้ เอาไปใช้เอง สร้างของเอง ใช้เองได้ ก็ถือว่าเก่งมากแล้ว สิ่งที่ต้องทำจริงๆ ในการเป็นโอเพ่นซอร์สเดเวลอปเปอร์ คือคุณต้องไปคุยกับคนเยอะๆ
ว่าเจอปัญหาตรงนี้
เราอยากแก้ยังไงบ้าง ปัญหาตรงนั้นสามารถแก้ยังไงได้บ้าง คุณต้องคุยกับคนเยอะๆ คุณถึงจะเป็นเดเวลอปเปอร์ที่ดี เป็นโอเ พ่นซอร์สเดเวลอปเปอร์ที่ดีได้ พยายามที่จะเป็นคนที่คุยกับคนอื่น ไม่ต้องเป็นโปรแกรมเมอร์ที่เก่งมาก
แต่ไม่สามารถสื่อสารกับคนอื่นได้ มันจะเป็นข้อเสียในการทำแบบนี้ การทำโอเพ่นซอร์สจะบังคับให้คุณไปคุยกับคนอื่น มันต้องพูดอย่างงู้นอย่างงี้ให้เข้าใจนะ ไม่งั้นมันไม่ได้อะไร แน่นอนว่าตรงนี้ก็ขอข้ามไปนิดนึง
พูดเร็วๆ ก็คือ sharing and caring ต้องที่บอกตอนแรกเลย คุณมีอะไรก็ตาม มีอะไรก็ได้โง่ๆ นิดๆ หน่อยๆ ที่แบบว่ามันไม่น่ามีคนเอาไปใช้หรอก
แชร์มันออกไป ให้คนเอาไปใช้ คุณไม่จำเป็นต้องเอาไปลง Facebook ไม่ต้องขนาดนั้น คุณเอาขึ้น GitHub เงียบๆ เดี๋ยวมันก็มีคนมาใช้เองจริงๆ
Sharing and Caring - หัวใจสำคัญของ Open Source31:06
แน่นอนว่ามันก็มีการ build audience แหละ ในการทำ open source เนาะ ผมก็แบบว่าเมื่อตอนเขียน framework แรกๆ จากที่ไม่มีคนใช้มา 0 คน 1 คน ตอนนี้เป็นหมื่นๆ เป็นอาจจะเป็นแสน ไม่รู้เหมือนกัน มันก็เริ่มจากการที่แบบ เราทำอันนู้นน่ะ โพสต์ลง Twitter หน่อยละกัน วันนี้เราทำอันนี้มา วันนู้นเราทำอันนี้มา หรือจริงๆ แล้วมันอาจจะไม่ต้องมีอะไรเลยก็ได้ มันอาจจะเป็นแบบ วันนี้เราโพสต์ plugin ตัวนี้มาสำหรับทำ stream แล้วก็วันต่อมาก็แบบ
ไอ้เนี่ยชื่อ framework มันเป็นชื่อเดียวกับ ไอ้ตัวละครอันนึงนะ เพราะฉะนั้นจริงๆ มันอ่านอย่างงู้นอย่างงี้นะ พยายามที่จะใส่ตัวตนตัวเองเข้าไป
ไม่ต้องมาเป็นแบบวิชาการจ๋ามาก ไม่ต้องเขียนถึงระดับที่เอาไปเขียน paper ได้
คุณแค่บอกว่าวันนี้เราทำอันนี้มา แล้วก็วันนี้ไปเจอนู่นนี่มา ใส่ความเป็นตัวเองลงไปให้เยอะๆ ในการที่เอาไปแชร์คนอื่น มันอย่าวิชาการจ๋ามากๆ เพราะว่าคนเค้าจะไม่อ่านกัน ค่อยๆ ทำมาเรื่อยๆ ไม่ต้องมาเครียดว่า จัดคำ grammar ไม่ตรง โพสต์ไปเลย คุณมีอะไรคุ ณโพสต์ไปเลยว่าวันนี้คุณทำอะไรมา เดี๋ยวคนเค้าก็จะแบบเห็นดีเห็นงาม แล้วก็เอ้ย คนนี้เค้าทำอันนู้นอันนี้อยู่ว่ะ กดตามทิ้งไว้ละกัน สักวันนึงเดี๋ยวเค้ามาใช้ต่อเอง เพราะฉะนั้นไม่จำเป็นต้องมีอะไรเลย
เอาไปใน Twitter เอาไปใน เอ้ย มีคุณมีแบบว่า community ด้าน TypeScript อยู่ละ แล้วก็แบบเอ้ย เราทำ framework อันนึงเนี่ย มันแก้ปัญหา TypeScript ตรงนี้ได้ เราทำ framework อันนึงเนี่ย มันเอาไปรันใน environment นู้นนี้ได้ คุณก็ไปแชร์ต่อ ไม่จำเป็นต้องกังวลว่า เอ้ย มันจะไม่มีคนอ่าน เพราะว่าสักวันนึง เอาตรงๆ เลยคือมัน ถึงแม้บางอัน มันโง่ๆ มาก แต่ว่ามันก็มีคนอ่านอยู่ดี เพราะฉะนั้น มันแทบจะไม่ต้องมีอะไรก็ที่ จะต้องกังวลเลย เพราะฉะนั้นเนี่ย ถ้าคุณอยากทำอะไร คุณก็แชร์ อย่างที่บอกว่าคือ คุณทำอะไรมาคุณแชร์ เขียนอย่างน้อยเนี่ย ไม่มีคนอ่าน สักวันนึงอ่ะ คุณอาจจะกลับมาอ่านเองก็ได้ เพราะมันเหมือนกับ เป็นการทำ diary เนาะ แบบว่า เอ้ย วันนั้นเราทำ อย่างงี้มา วันนี้เราทำอย่างงี้มา เอ้ย กลับมาย้อนดู ซะหน่อยละกัน หรือวันนึงแบบเอ้ย คือล้างเครื่องว่ะ แต่อยากได้ source code ตรงเนี้ย มันมีอยู่ใน GitHub อยู่แล้ว มันมีอยู่ในหน้า feed ที่คุณเคยเขียนอยู่แล้ว
GitHub - มากกว่าแค่ที่เก็บโค้ด33:21
คุณสามารถกลับมาดูตรงๆ ได้ ในนอก GitHub เนี่ย มันค่อนข้างจะมีประโยชน์หลายอย่างเนาะ นอกจากเก็บ source code แล้วเนี่ย มันสามารถทำ หลายๆ อย่างได้ เช่นแบบว่า เอ้ย เรามี Discord อันนึง Server Discord เนาะ แล้วก็อยากตามแบบ เอ้ย project ว่า เอ้ย มันมีใครเปิด issue มีใครเปิด PR บ้าง แล้วก็แบบว่า เอ้ย GitHub มันมีสิ่งที่เรียกว่า webhook
อยู่ ก็คือแบบว่า เอ้ย ถ้ามันมีคนเปิด issue นะ ส่ง request ไปที่นู่นนี่ ของผมเคสผมก็คือแบบว่า เอ้ย เราใช้ Discord เป็นหลักใช่มั้ย ก็บอกว่า เอ้ย GitHub ถ้ามันมีคนมาเปิด issue มีคนมาเปิด PR นะ นายช่วยส่งข้อความมาใน Discord เราหน่อย
เราอยากเห็นว่า เอ้ย เราอยากเห็นว่า เอ้ย มันมีใครมาเปิดอะไรบ้าง มันก็จะขึ้ นมาเป็นล็อกๆ ให้หมดเลยอย่างที่เห็น ซึ่ง GitHub เนี่ย โอเค มัน integrate ได้กับหลายอย่าง Discord, Slack, Jira คือในบริษัทเก่าผม แทบจะ automate แทบจะร้อยอย่าง แบบว่า เอ้ย ถ้าคุณมาเปิด PR ชื่อนี้นะ ส่งขึ้น deploy ขึ้น production นู่นนี่ ค่อนข้างที่จะได้หลายอย่าง Netlify, Vercel พวกเนี้ยเขาก็เอา GitHub มาเป็นหลักเนาะ คุณอัปโหลดขึ้นบน GitHub แล้ว Vercel เอ้ย ได้ source code ใหม่ละ อัปโหลดขึ้นนู่นนี่ ทั้งหมดเนี่ยมันก็มาจากการที่ GitHub เนี่ย เขาอนุญาตให้เราสามารถทำนู่นนี่ได้ integrate ได้หลายอย่าง ซึ่งค่อนข้างดีมากๆ เลยในการทำอะไรพวกนี้
แต่ว่าสิ่งที่ยากที่สุดก็คืออย่างที่บอก
Documentation - สิ่งที่ยากที่สุดในการทำ Open Source34:51
การเขียน documentation เนี่ย เป็นส่วนที่ยากที่สุดในการทำ open source ละ เพราะว่าคุณต้องอธิบายให้คนอื่นเข้าใจว่า product ของคุณเนี่ยยังไง สมมุติคนเขียนวันนึงคนเขียนของที่ดีกว่า
OpenAI แบบ ChatGPT ได้ แต่มันไม่มีคนมาใช้ สุดท้ายมันก็ไม่มีประโยชน์อยู่ดี เพราะฉะนั้นนอกจากว่าเป็นโปรแกรมเมอร์ที่เก่งแล้ว พยายามที่จะคุยกับคนอื่นให้เป็นด้วย เพื่อที่จะอธิบายเขาได้ว่า เฮ้ย การที่เราสร้าง product อะไรขึ้นมาเนี่ย เราต้องการให้คนอื่นไปใช้ต่อ แต่ถ้าคนอื่นเอาไปใช้ต่อไม่ได้ มันก็เป็นปัญหาแล้วว่าเฮ้ย แล้วเราจะสร้าง product ขึ้นมายังไงเนาะ เพราะฉะนั้นพยายามที่จะฝึกสกิลตรงนี้ไว้นิดนึง ซึ่งคุณก็จะได้จากการที่ไปพูดนู่นพูดนี่ แล้วคุณจะได้มา
GitHub Sponsors - หนึ่งในช่องทางการหาเงินของ Open Source Developer35:39
แน่นอนว่าเรื่องสุดท้ายที่อยากจะฝากไว้ก็คือเอ่อ
เราลาออกจากงานมาเนาะ แล้วเราเอ้ยมีเงินอยู่ได้ยังไง
อยู่ยังไงไม่ได้ทำงานบริษัทอะไร ไหนบอกว่าไม่ได้ทำงาน บริษัทอะไรใช่มั้ย ก็ GitHub เนี่ยเค้าจะมีสิ่งที่เรียกว่า GitHub Sponsors
อยู่ ก็คือแบบว่าเอ้ยเรามีซอฟต์แวร์ที่เราเขียนเนี่ย source code อยู่บน GitHub แล้วเราสามารถขอได้ว่า เอ้ยคนนู้นเนี่ยเอาไปใช้เยอะมากเลย คนนี้เอาไปใช้เยอะ มากเลย นายช่วย donate ให้เราซักเดือนละแบบเหรียญ สองเหรียญได้มั้ย แบบอาจจะเป็นบริษัทที่ใหญ่มากๆ เช่นแบบเอ้ยบริษัทนึง แบบว่าเอ้ยได้กำไรแบบปีละหลายแสนหลายล้านดอลลาร์ เงี้ย ก็แบบเอ้ยนายช่วย donate ให้เราแบบซัก 10 เหรียญ ได้มั้ย อะไรประมาณเนี้ย เราสามารถไปขอเค้าได้ว่าเอ้ยเนี่ยถ้าคุณ donate ตรงนี้ มานะ เดี๋ยวจะเพิ่มแบบโลโก้คุณในเว็บ หรือว่าแบบว่า เอ้ยไปโฆษณาต่อให้อะไรประมาณอย่างเงี้ย นั้นแหละมันเป็นวิธีที่ open source developer เนี่ยใช้ ชีวิตอยู่นะ ก็คือรับเงินมาจากการที่แบบว่าเอ้ยนายช่วย donate ให้เราหน่อย
ซึ่งถ้าเราลองคิดภาพดูจริงๆ แล้วเนี่ย การที่เรามาขอเงิน
เนี่ยแทบจะแบบว่าเป็นทั้งเงินทั้งหมดที่เราได้เนี่ยแทบจะ เป็นเงินบริจาคเลย เพราะฉะนั้นเนี่ยถ้าใครอยากที่จะรวยเนี่ย แนะนำว่าอย่า ทำ open source เป็นอาชีพ เพราะว่าเออถ้าคุณไม่ใช่ แบบว่าหนึ่งในล้านที่เก่งมากๆ ระดับแบบว่าคนเอาไปใช้ เป็นล้านเป็นสิบล้านคนเนี่ย คุณแทบจะไม่มีทางที่จะรวย ได้เลย เพราะว่าทั้งนี้ทั้งนั้นเนี่ย เอ่อผมเนี่ยซอฟต์แวร์ผมเนี่ยมีคน ใช้เป็น 5,000 ดาวใช่มั้ย ผมได้เดือนละตอนเนี้ยได้เดือน ละ 200 เหรียญ ก็ 7,000 บาท บาท 8,000 บาท ซึ่งแน่นอนว่า 7,000 บาท 8,000 บาท เราไปทำงานบริษัทเนี่ย เราได้เงินเดือนเยอะกว่านี้ มากๆ แต่สุดท้ายเราก็เลือกที่จะทำอันนี้อยู่ดี เพราะว่ามันมีความสุขเนาะ เพราะฉะนั้นเนี่ย ถ้าใครอยากที่จะทำ open source เนี่ย อย่าลาออกจากงานมา แล้วก็แบบว่า เราอยากทำ open source คนทำไป 2-3 ปีเนี่ย
ยังไม่รู้เลยว่าจะได้เงินคืนเท่ากับเงินเดือน ที่เราลาออกมาหรือเปล่าเนาะ เพราะฉะนั้นเนี่ย
ทำ Open Source ด้วยใจรัก อย่าหวังรวย37:51
ทำ open source เนี่ย อย่าทำด้วยเงิน ทำด้วยใจรักจะดีกว่า แล้วก็ตลอดตั้งแต่มกราคมมาเนี่ย เงินเก็บที่ได้จากบริษัทเนาะ ก็เอามาใช้
ในการแบบว่าให้อยู่รอดได้ เพื่อที่เราสามารถ
เอามาทำ open source full time ต่อได้ ซึ่งผมไม่แนะนำนะ ไม่แนะนำเลย ก็คือถ้าคุณอยากทำ open source เนี่ย คุณทำงานในบริษัทไปด้วย แล้วก็เอาเวลาว่าง มาเขียนไปด้วย จนกว่าคุณจะมั่นใจว่า เงินที่คุณได้จาก open source เนี่ย มันเยอะพอที่จะเลี้ยงตัวเองได้ อย่างน้อย เผื่อไว้ 2-3 เท่าเลย เพราะต้องเผื่อไว้ว่า บริษัทนู้นอาจจะแบบไม่สปอนแล้ว อะไรประมาณอย่างเงี้ย ซึ่งการทำ open source เนี่ย ฟังดูแล้ว
คุณรับเงินบริจาคอย่างเดียวเนี่ย มันแทบจะเหมือนกับว่า คุณเป็นพระ เป็นคนดูแลศาลเจ้า อะไรประมาณนั้นเลย
ก็คือคุณต้องนึกไว้เสมอว่าคุณรับเงินบริจาค เพราะฉะนั้นเนี่ย ถ้าสมมุติตื่นมาวันนึง แล้วเค้าเปลี่ยนใจว่าไม่บริจาคแล้วเนี่ย คุณก็ซวย เพราะฉะนั้นเนี่ย อย่าเอา open source มาทำเป็นอาชีพ ถ้าคุณอยากได้เงิน อยากเลี้ยงตัวเองได้ อย่าทำเป็นอาชีพ เอามาทำเล่นๆ สนุกๆ ได้
ก็อย่างที่บอกไปก็คือ เอามาให้ดูเลยว่า GitHub Sponsors เนี่ยมันขึ้นมาแบบว่า เดือนนึงเนี่ยคุณได้ 244 เหรียญ แล้วก็มันจะได้เงินเมื่อไหร่อะไรประมาณนี้ เดือนนึงอ่ะ หมื่นนึง 10,000 บาท คุณเอาตัวรอดได้ไหมในเมือง ต้องจ่ายค่าไฟ จ่ายค่ ารถ จ่ายค่า MacBook แน่นอนว่า ยาก เพราะฉะนั้นเนี่ย เอาให้มันสนุกกับที่เราทำก็พอ มันก็เลยเป็นเหตุผลว่า เวลาเราไปพูดเนี่ย มันแทบจะไม่ค่อยเจอใครเลยที่ทำ open source เป็น full-time เนาะ เพราะอย่างที่บอกก็คือ เงินมันน้อย เงินมันน้อยมาก แต่ว่าที่เราทำเนี่ย เราทำด้วยใจรักล้วนๆ เลย ก็คือ ให้มันแบบพออยู่ได้อ่ะ แล้วก็เอาเวลาเนี่ย อยากทำของที่ตัวเองทำ
อะไรประมาณอย่างงั้น ถ้าเราไปดูบนเว็บแบบ open source หลายๆ อย่าง เช่นแบบ NestJS Express โน่นนี่ ก็จะมี section เลยว่า ไอ้บริษัทเนี่ย sponsor ให้เรานะ แต่การที่จะบริษัทขึ้นไปอยู่บนนั้นน่ะ ไม่ใช่ว่า วันนี้อยากเอาขึ้นว่ะ เราต้องขอให้บริษัทนั้นน่ะเขา sponsor ให้เรา เพื่อที่จะให้โลโก้ของเขาอ่ะ มาอยู่บนเว็บเรา อันนั้นน่ะ คือสิ่งที่ developer หลายคนน่ะ เขาทำในการเลี้ยงชีพเนาะ มันเป็นการการันตีว่า พรุ่งนี้ตื่นมา ไม่โดนบริษัทปิดแน่ๆ อะไรประมาณอย่างเงี้ย ซึ่งคุณต้องทำได้หลายเจ้ามากๆ พอที่จะเลี้ยงตัวเองได้นะ ไม่ใช่เจ้า 2 เจ้า อย่างตัว Nest เนี่ย เขามี sponsor เนี่ย 200 คน 2-300 บริษัท
เพราะฉะนั้นเนี่ย ถ้าคุณสามารถทำได้ระดับนั้นน่ะ คุณก็จะลาออกจากงาน มาทำ open source full-time เลยก็ได้ แต่ คือการที่คุณทำถึงตรงนั้นแล้วอ่ะ มันไม่ใช่แบบเดือน 2 เดือน คุณทำเป็นหลายปีกว่าที่จะมาทำถึงตรงนั้นได้
ช่องทางการหาเงินจาก Open Source - Sponsorship, Consulting, Bug Bounty40:56
เพราะฉะนั้นในการหาเงินจากโอเพนซอร์สเนี่ย มันก็มีอีก 2-3 วิธีที่คนเค้าชอบใช้กัน อย่างแรกคือสปอนเซอร์ชิป อย่างที่บอกไป อย่างที่ 2 ก็คือ พอโปรดักต์เราใช้คนใช้เยอะมากๆ แล้วเนี่ย มันก็จะมีการแบบว่า บริษัทเนี่ยอยาก adopt เทคโนโลยีของเรามาใช้ เราก็สามารถไป consult ไป train ให้เค้าได้ แล้วก็คนอยากให้แบบคนมาใช้ใช่มั้ย เดี๋ยวเราคิดค่า consult ให้นะ แล้วเราจะช่วย guide ให้ว่า มันต้องเขียนยังไง ถึงจะถูกต้อง เขียนยังไงให้มันดี ให้มัน bug น้อยอะไรประมาณเนี้ย แล้วถ้ามันมี bug อะไร เราก็สามารถ support คุณตรงๆ ได้เลย เค้าก็ยอมที่จะจ่ายตังค์มาให้เรา รายเดือนอาจจะไม่ยังเยอะ 3,000 7,000 เพราะว่าตอนนี้คนก็ไม่ได้ใช้เยอะขนาดนั้น ก็เป็น consult ให้บริษัทนู้นบริษัทนี้ เพื่อให้มั่นใจว่าคุณสามารถที่จะทำ โอเพนซอร์สตัวนี้ต่อไปได้ bug bounty อย่างที่บอกก็คือ
บริษัทบางบริษัทอ่ะ เค้าใช้โปรดักต์ของเรา แต่พอใช้ไปแล้วระดับนึง มันเจอปัญหา ก็คือมันมี bug อ่ะ แล้วเรา
ตอนนี้มันเป็นอะไรใหญ่มากเลย เราไม่สามารถย้อนกลับไปได้แล้ว เพราะเราเขียนมาเยอะมากละ เค้าก็สามารถที่จะวาง bounty ไว้ว่า ถ้าใครแก้ bug ตรงนี้ได้เนี่ย คุณก็รับเงินไปเลยจากบริษัทเรา ซึ่งจริงๆ อ่ะ ด้วยความที่เราเป็น maintainer เราก็สามารถที่จะแบบเกรียนนิดนึง ก็คือโอเคเจอ bug เกี่ยวกับซอฟต์แวร์ที่เราเขียน เดี๋ยวเราแก้ให้ละกัน แล้วเราก็ไปรับเงิน มันเป็นวิธีที่ไม่ค่อยดีเท่าไหร่ แต่มันก็เป็นวิธีที่อยู่รอดได้ แล้วก็ maintainership consultant เหมือนกัน แล้วก็ training เพราะฉะนั้นเนี่ย ส่วนใหญ่เนี่ย มันก็มีแค่ 2-3 วิธีแหละที่จะอยู่ได้
แต่ว่าอย่างที่บอ กไปก็คือ มันก็มี GitHub Sponsors แหละ ที่สามารถรับเงินนู่นนี่ได้เนาะ จะให้ดูว่า GitHub Sponsors เนี่ย มันสามารถเข้าไปสร้างโปรไฟล์ไว้ได้เลย ว่าถ้าคนมาดู GitHub เรา ช่วยขึ้นปุ่ม donate ให้หน่อย ใครใช้โปรดักต์อะไร ก็ถามเค้า donate ให้นิดนึงได้มั้ย อยากได้แบบเงินประมาณเนี้ย จะได้เอามาทำนู่นทำนี่ต่อไปได้ ผมก็ตั้งเป้าหมายว่า อยากได้เงินเดือนนึงสักพันเหรียญ จะได้ลาออกมาทำโอเพนซอร์สได้ อะไรประมาณอย่างเงี้ย มันก็จะแบบว่า ถ้าเราไม่รู้จะไป donate ใครเนี่ย ตัว GitHub Sponsors เนี่ย เค้าก็มี list มาให้ว่า
เอ้ย เราอยาก donate ให้คนนู้น เราใช้ product คนเนี้ย 200 repo โอเคนะ เพราะว่าฉันเนี่ย เอ้ย นายช่วย donate ให้คนนู้น คนนี้หน่อยได้มั้ย เพราะว่านายก็ใช้ product ของคนนี้มาเยอะมากเลย อย่างเราจะได้แบบว่า เค้าจะมาดูแลตรงนี้ต่อได้เป็น 100% อะไรประมาณอย่างนั้นน่ะเนาะ
สิ่งที่อยากฝากไว้หน่อยนึงก็คือ
Open Source สำคัญต่อ Industry อย่างไร?43:31
ถ้าใครเคยเห็นรูปนี้เนี่ย มันจาก จากอะไรนะ จากนั้นแหละ
ก็คือเหมือนกับว่า ตัว industry เนี่ย
ตัวบริษัททั้งหมดที่เราอยู่เนี่ย มันจะมีแบบ open source บางอ ัน ที่ไปคอยค้ำจุนไว้อยู่ แล้วถ้าสมมุติว่าวันนึงเนี่ย ไอ้คนที่ดูแลเทคโนโลยีตรงนั้นน่ะ เกิด เอ้ย ฉันไม่อยู่ละ ฉันอยากไปทำงานอย่างอื่น แล้วมันไม่อัพเดต source code มันจะเกิดความแย่ก็คือแบบว่า ไอ้ domino ของทั้ง industry เนี่ย มันจะค่อยๆ ล้มมาทีละตัว ทีละตัว มันล้ม หายไปหมดเลย เพราะฉะนั้นเนี่ย คือ วันนี้คุณอาจจะไม่ support มันเป็นอะไร สักวันนึงเนี่ย คนที่สร้าง software ให้คุณ แล้วเค้าไม่มีจะกินละ เค้าต้องเลิกทำเพื่อไปทำงานอย่างอื่น ถึงวันนั้นน่ะ เราจะรู้สึกว่า เอ้ย รู้งี้ donate ให้เค้าสักเหรียญ 2 เหรียญ 3 เหรียญต ่อเดือน มันก็ไม่น่ามีปัญหาอะไร แค่นี้เราต้องมาเจอปัญหา แบบวิกฤตระดับชาติว่า เอ้ย software มันไม่มีคนทำต่อแล้ว อะไรประมาณเนี้ย มันก็จะสวยเอาเนาะ เพราะฉะนั้นเนี่ย การที่เป็น open source developer แน่นอนว่ามันหาตังค์น้อยมาก
คนที่ยอมมาทำ full-time กับเรื่อง open source
ส่วนใหญ่เค้าทำเพราะว่า เค้ารักในเทคโนโลยี เค้ารักในสิ่งที่เค้าทำ เค้าถึงยอมที่จะแบบว่าออกมาทำ มันไม่มีทางรวยอะ บอกตรงๆ ว่า ถ้าคุณไม่เก่งระดับ 1 ในล้าน มันไม่รวย ซึ่งผมก็บอกตรงๆ ว่า ผมก็ไม่ได้รวย ผมทำ open source full-time ก็จริง ผมก็ไม่ได้รวยอะไรประมาณอย่างงั้น
ข้อดีของการทำ Open Source - สร้างโอกาสและ Connection45:18
แต่ว่ามันก็จะมีโอกาสบางอย่าง ที่คุณได้กลับมาเนาะ
ก็เจนด้าเนี่ยอย่างที่บอกไป ทุกอย่างสกิลพอยต์ได้ บิลด์โปรไฟล์ได้ โดนชวนไปนู่นชวนไปนี่ จ่ายค่าเครื่องบินให้ฟรี ไปพูดที่เมื่อ 3 เดือนก่อน ผมโดนชวนไปพูดที่อเมริกา งานวันเดียว แต่ว่าเขาออกค่าตั๋วค่านู่นค่านี่ ค่าโรงแรมให้หมดเลย ซึ่งมันมาจากการที่เราทำโอเพ่นซอร์ส แล้วก็มีคนมาเห็น
อยากได้เราไปพูดนู่นพูดนี่