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 เดือนก่อน ผมโดนชวนไปพูดที่อเมริกา งานวันเดียว แต่ว่าเขาออกค่าตั๋วค่านู่นค่านี่ ค่าโรงแรมให้หมดเลย ซึ่งมันมาจากการที่เราทำโอเพ่นซอร์ส แล้วก็มีคนมาเห็น

อยากได้เราไปพูดนู่นพูดนี่ จ่ายตังค์ค่าอยู่ให้ อะไรประมาณอย่างเงี้ย มันเป็นโอกาสที่หาได้น้อย หาได้น้อยมากๆ แล้วมันก็เป็นอะไรที่ค่อนข้างดีมากๆ แต่ทีนี้สิ่งที่สำคัญที่สุด อย่างนึงที่ต้องท่องไว้ก็คือ คุณบิลด์ซอฟต์แวร์ขึ้นมา คุณจะเก็บไว้ใช้เองก็ได้ ไม่ต้องเปิดซอร์สก็ได้ แต่ว่าจากประสบการณ์แล้ว ตอนที่ผมอยู่บริษัทเก่า ผมได้เป็นคนสัมภาษณ์งาน เป็นคนเลือกว่าใครจะเข้ามาทำงาน ในบริษัทบ้าง แล้วก็ต้องมาสัมภาษณ์ สิ่งที่ผมทำเป็นอย่างแรก ในการเลือกแคนดิเดต ผมไปดูที่ GitHub เขาก่อนเลย ว่าเขาเคยทำอะไรมาบ้าง เขาเจอปัญหา เขาทำในสิ่งที่เราอยากได้หรือเปล่า เช่นบริษัทตอนนั้น ผมเขียน React เขียน GraphQL ผมก็ไปดูในแคนดิเดตก่อนเลย ว่าเขาเคยเขียน React มาหรือเปล่า เคยเขียน GraphQL มาหรือเปล่า เคยทำอะไรมาบ้าง สกิลเป็นยังไงบ้าง

เพราะฉะนั้นอยากจะให้จำไว้อย่างนึง

Open Source - Portfolio ที่ดีที่สุดสำหรับ Developer46:48

Recruiter หรือ Headhunter ค่อนข้างเยอะ เขาจะดูโปรดักที่เราเคยเขียนขึ้นมา เป็นโอเพ่นซอร์ส GitHub GitLab ไปดูโปรไฟล์ เขาจะสืบโปรไฟล์มาก่อน ว่าเคยทำอะไรมาบ้าง เคยเขียนโค้ดจริงๆ หรือเปล่า แล้วค่อยเลือกมา เพราะฉะนั้นถ้าจะให้แนะนำเลย ตอนที่ผมเลือกแคนดิเดต คนที่ทำโอเพ่นซอร์สมาแล้ว เอาซอร์สเค้าเองมาแชร์

ถ้าเห็นว่าเขาเขียนโค้ดดี ผมแทบจะไม่ค่อยจี้เขาตอนสัมภาษณ์เลย ในทางกลับกัน คนที่ผมไม่เคยเห็นซอร์สโค้ด ไม่เคยเห็นโค้ดว่าเขาเขียนอะไรมา ผมถามคำถามเขาเยอะมาก 20-30 คำถาม ต่างจากคนที่เคยทำงานมาแล้ว เห็นซอร์สโค้ดแล้ว ถามแค่ 4-5 คำถาม รู้เลยว่าคนที่เขาเขียนจริงๆ มีสกิลจริงๆ มันจะต่างกัน มันจะต่างกับคนที่เราไม่เคยเห็นว่าเขาเคยทำอะไรมาบ้างเนาะ เพราะฉะนั้นการที่คุณทำโอเพ่นซอร์สอ่ะ มันเป็นหลักฐานแล้วว่าคุณเคยทำนู่นคุณเคยทำนี่ แน่นอนว่าจะเปิดโอกาสอย่างหนึ่งให้ก็คือ คุณสามารถที่จะแบบหางานใหม่ได้ง่าย

กว่าคนที่ไม่ได้แชร์โค้ดตัวเองอะไรอย่างงั้นเนาะ แน่นอนว่าคุณได้ชวนไปพูดนู่นคุณได้ชวนไปพูดนี่ ก็ค่อนข้างดี มีผลงานใน Twitter มีทุกอย่างการันตี เพราะคนทำ แล้วมันก็เป็นหลักฐานตลอด บันทึกไว้ตลอดว่ามันเฟกไม่ได้ครับ เพราะว่าคุณไม่สามารถย้อนเวลากลับไป แล้วบอกว่าตอนนั้นเราทำนู่นตอนนั้นเราทำนี่ คุณไม่สามารถทำอย่างงั้นได้ แต่สิ่งที่คุณสามารถทำได้ก็คือ คุณจดตอนนี้ไว้ว่า วันนี้เราทำอันนู้นมา วันนี้ทำอันนี้มา แชร์โค้ด แชร์นู่นแชร์นี่ มันเป็นหลักฐานที่ให้ recruiter เห็นเลยว่า คนนี้เคยทำนู่นทำนี่มานะ สกิลน่าจะตรงกับสิ่งที่เราอยากได้

ก็ยื่นเข้าบริษัทหางานง่าย ทุกอย่างง่ายมาก

อีกอย่างนึงก็คือเป็นเคสพิเศษ

เคสพิเศษ - เมื่อบริษัทอยากจ้าง Open Source Developer Full-time48:43

ไม่ใช่ทุกคนที่จะได้อย่างงี้หรอก แต่ว่าอย่างที่บอกไปก็คือผมลาออกจากงาน

โดนเลย์ออฟจากงาน แล้วก็ไม่มีเงิน

จนถึงประมาณช่วงตุลาคม กันยายน

ผมไปพูดงานหลายๆ งาน GraphQL นู่น GraphQL นี่ แล้วคนที่เขาจัดงานน่ะ เขาบอกว่า ทำไมนายไม่ลองมาทำงานบริษัทเราดูล่ะ คือเขาเอ่ยปากชวน เขาเป็นเหมือนกับว่า CTO CEO หรือเป็นตัวแทนบริษัท แล้วก็บอกว่า เราเห็นสกิลนาย เราตามมา 7-8 เดือนละ เราอยากได้นายมาทำในบริษัทเรา ก็ได้คุยนู่นคุยนี่ บริษัทที่ผมทำตอนนี้ชื่อว่า The Guild ถ้าใครไม่รู้จัก มันจะมี product ชื่อว่า GraphQL Yoga ถ้าเคยใช้ GraphQL จะมี GraphQL Apollo แล้ว GraphQL Yoga หรือว่า GraphQL code generator ตัวบริษัทเนี่ย แทบทั้ง 90% เป็นของ ecosystem GraphQL บริษัทนี้เป็นคนจัดการทั้งหมดเลย หลักการของบริษัทง่ายมากก็คือ เขามีเงินทุน แล้วเขาอยากได้ชื่อเสียง เขาอยากเปิดบริษัท consult แต่เขาไม่มีคน เขาก็เลยกวาดซื้อคนที่ทำโอเพ่นซอร์ส เกี่ยวกับด้าน GraphQL หรือด้าน server กวาดเข้ามาในบริษัทแล้วก็บอกว่า นายมีโอเพ่นซอร์สอยู่แล้ว นายทำไปเลย แต่ว่าเราสปอนให้เดือนเป็นแสน

แลกกับการที่นายช่วยมีชื่ออยู่ในบริษัทเรา หรือช่วยงานบริษัทนิดๆ หน่อยๆ แต่งานหลักๆ คือทำโอเพ่นซอร์สไปเลย

มันเหมือนกับว่ามีคนมาสปอนเซอร์เราทำโอเพ่นซอร์ส คุณทำไปเลย เราสปอนเซอร์ให้ แล้วก็แบบว่า มันจะมีบริษัทใหญ่ๆ ถ้าเข้าตาแบบบริษัทใหญ่ๆ เขาจะมาสปอนเซอร์ให้เยอะมากๆ เดือนนึง เยอะมากในระดับที่คุณไม่ต้องหางานเลยก็ได้

เพราะฉะนั้นเนี่ย มันเป็นโอกาสอย่างหนึ่ง ที่ถ้าคุณทำโอเพ่นซอร์ส คุณไม่รู้หรอกว่า 10 ปี 3 ปี 5 ปี 3 เดือน ไม่รู้หรอกว่าจะมีคน มาชวนทำไหม แต่ว่าพอมันเก่งระดับหนึ่ง มีคนใช้เยอะระดับหนึ่ง เดี๋ยวเงินทุน บริษัทต่างๆ มันจะวิ่งเข้ามาหาเราเอง เพราะฉะนั้น ตอนนี้อย่าเพิ่งลาออก คุณทำไปเรื่อยๆ จนกว่าจะมีคนอะไรแบบนี้ แล้วคุณค่อยเปลี่ยนงาน แต่สิ่งที่สำคัญก็คือ

บทสรุป - ทำ Open Source ให้สนุก แล้วโอกาสจะวิ่งเข้าหาคุณ51:08

สนุกกับมันเยอะๆ การทำโอเพ่นซอร์ส สิ่งที่สำคัญที่สุดเลยคือคุณต้องมีความสุข

กับการทำโอเพ่นซอร์ส คุณถึงจะสามารถ ทำมันต่อได้

หลักๆ ก็เป็นประมาณอย่างนี้แหละ ในความที่เราไม่เคยเห็นใครในไทย ไม่เคยเห็นฟูลไทม์โอเพ่นซอร์สเลย นอกจากเราเอง เราพูดตรงๆ คือ เราไม่เคยเห็นฟูลไทม์โอเพ่นซอร์ส คนอื่นเลยในไทย เราก็เลยอยากมาพูด ให้ฟังว่ามันเป็นยังไงบ้าง หมดทั้งมวลเนี่ย ไม่ต้องยิ่งใหญ่หรอก คุณมีซอร์สโค้ดอะไร คุณอัพขึ้น GitHub เอาไปแชร์คนอื่น เอาไปอธิบายให้คนอื่นใช้ แค่นั้นแหละโอเพ่นซอร์สละ แล้วก็ถ้าวันหนึ่ง คุณมีวาสนา คุณมีดวงวาสนา คนเอาไปใช้เยอะ

เดี๋ยวมันจะมีเงินทุนนู่นนี่วิ่งเข้ามาหาเอง เพราะฉะนั้น สิ่งที่สำคัญที่สุดก็คือ การที่จะไปถึงตรงนั้นได้ ให้คุณมีความสุข กับการเขียนโปรแกรมให้มากๆ เอาไปแชร์คนอื่นให้มากๆ แล้วเดี๋ยวสักวันมันก็จะมีวาสนาบางอย่าง ตอบแทนกลับมาเอง ก็ประมาณนี้ครับ

ช่วงถาม-ตอบ: ภาพลักษณ์ของ Open Source Developer52:13

โอเคครับ ขอบคุณออมมากเลยครับ มีใครอยากจะสอบถามออมสักนิดนึงไหม เกี่ยวกับชีวิตที่ออมทำกับโอเพ่นซอร์ส มีใครมีคำถามไหมครับ สักคนเดียวก็ได้ มีไหมเอ่ย มีใครมีคำถามไหมครับ อ่ะมีมา เอามาให้วิ่งเลย เราเลือกแค่คนเดียว เนื่องจากเราต้องจับเวลา

อ่ะเดี๋ยวรอไมค์แป๊บนึงครับ จริงๆ ก็เป็นคนเพิ่งจะ contributor Elysia ด้วยนะครับ อยากถามนิดนึงครับว่า ด้วยความที่เราเป็น developer รุ่นใหม่ ที่เราไม่ได้แคร์เรื่องภาพลักษณ์มาก อย่างเราไม่ได้มาใส่สูทผูกไท แล้วเราเป็น developer แต่เราเลือก จะแสดงภาพลักษณ์ในฐานะคนแบบ เอ่อ อย่างเงี้ย คือเนี่ย เดี๋ยวออกมาพูด แล้วใส่ชุดคอสเพลย์ แล้วแบบเออ ฉันก็พูดได้อย่างเงี้ย เคยมีข้อกังวล เรื่องนี้ไหม ตอนที่เริ่มทำใหม่ๆ ครับ

ครับๆ ครับ เอาตรงๆ นะ มันก็เขินๆ นิดนึงแหละตอนแรกๆ คือ Open Source เนี่ยมันเป็นงานประเภทนึง ที่นอกจากที่คุณเก่งแล้วเนี่ย คุณจะต้องมีบางอย่างให้คนชอบด้วย บางคนเนี่ยเป็น Dev ที่เก่งมากๆ แต่ว่าคุณต้อง build profile ตัวเอง ให้คนสามารถจำคุณได้ มันไม่ใช่ว่าคุณเก่งมากๆ แล้วคนจำได้เพราะว่าคุณเก่ง มีใครในห้องนี้สามารถจำได้ไหมว่า คนสร้างภาษา Java เนี่ยเขาชื่ออะไร

มันก็อาจจะมีบ้างแหละ แต่มันคงไม่เท่ากับว่า มี Developer คนนึงเนี่ย เขาทำนู่นทำนี่ด้วย อย่างเช่น Developer ประเภทที่เขียนเพลงไปด้วย อะไรประมาณอย่างเงี้ย มันจำง่ายกว่าที่แบบว่า คนนี้เขาสร้างภาษานู้นภาษา นี้ แต่ว่าเราสามารถจำได้ง่ายกว่า ถ้า Developer คนนั้นเขาเขียนเพลง เขาแต่งเพลง หรือเขาสร้างเกมไปด้วย ขับรถแข่งไปด้วย อะไรประมาณอย่างเงี้ย มันจำง่ายกว่า มันเป็นภาพลักษณ์ที่คนเห็นแล้วจำได้เลยว่า คนนั้นคือใคร เพราะฉะนั้นเนี่ย ผมก็เลยบอกว่า เวลาที่เราเขียนหรือแชร์ progress เวลาเราเขียนโค้ดแล้วเอาไปแชร์ใน Twitter

เอาไปแชร์ใน GitHub เนี่ย ผมไม่กังวลเลยที่จะบอกว่า ตอนผมเขียนเนี่ย ผมทำนู่นทำนี่ไปด้วยนะ หรือตอนผมเขียนเนี่ย ผมทำอันนี้เป็น Full Time ไปด้วย แล้วผมแต่งคอสเพลย์ไปด้วย ผมไม่เคยกังวลเลยเพราะว่า มันทำให้คนจำได้ว่า คนที่ทำอันนี้ มันเห็นแล้วรู้ว่า นอกจากเรื่องเขียนโค้ดแล้ว

มันสามารถตามเรื่องนู่นเรื่องนี่ได้อีก มันก็เป็นการ build profile ว่า คนเขียนคนนี้แต่งคอสเพลย์ไปด้วย เพราะฉะนั้นเนี่ย มันจำง่ายกว่าที่จะจำว่าเขาชื่ออะไร แต่จำสิ่งที่เขาทำได้ว่าเขาเคยทำอะไรมากกว่า ครับ นั่นแหละ พี่เห็นด้วยกับออม แล้วก็อยากจะสรุปกับออมว่า ในโลกของเราเนี่ย ไม่ว่าเราจะทำอะไรก็ตาม โดยเฉพาะ Open Source เนี่ย คนมันหลากหลายมาก Maintainer หลากหลายมาก เราจะทำยังไงให้เรามีจุดเด่น มีตัวตนของเรา แล้วก็ไม่ต้องกังวลกับการที่เราจะ express ความที่เป็นตัวเราออกมา หรือสิ่งที่เราชอบ พี่ว่ามันเป็นสิ่งนึงที่ทำไปด้วยกันได้ แล้วมันดีอยู่แล้ว อย่างมันเป็น product เรา เราจะทำให้ product เรามันเป็นยังไงก็ได้ อย่าง Elysia เอง เราก็มีตัวการ์ตูน ในการ reference ตัวโปรเจกต์เราไปด้วยใช่ไหมฮะ มันเป็นการ express ตัวเราออกไปด้วย แล้วก็ให้เห็นว่า character เราเป็นยังไง แล้วก็เราโดดเด่นกว่าคนอื่นเขา พี่ว่ามันเล็กๆ น้อยๆ ด้วย นั่นเอง เห็นด้วย โอเคครับ มีอะไรเพิ่มเติมไหม ครับ ไม่มี โอเคครับ งั้นขอบคุณออมมากเลยนะครับ ขอเสียงปรบมือให้ออมหน่อย

ได้ครับ