building and maintaining open source project - ywc14
TRANSCRIPT
Building and Maintaining OpenSource Projects.
http://slideshare.net/akarawuth
อัครวุฒิ ตำราเรียง @JoomlaCorner 22 ธ.ค.2559
Who am I ?
Who am I ?
เป็น จูเนียร์โปรแกรมเมอร์
Who am I ?
เป็น จูเนียร์โปรแกรมเมอร์
เมื่อ 27 ปีที่แล้ว
ปัจจุบัน
อัครวุฒิ ตำราเรียงAkarawuth Tamrareang
(JoomlaCorner)
twitter: @joomlacornerwww.marvelic.co.th
www.joomlacorner.com
Tel : 02-235-7629 , 02-077-8366
- กรรมการผู้จัดการ Marvelic Engine Co.,Ltd.
www.marvelic.co.th
- Joomla! Bug Squad : joomla.org - Founder JoomlaCorner.com
- อุปนายกสมาคมศึกษาและพัฒนาโอเพ่นซอร์ส (OSEDA.or.th)- กรรมการควบคุมจริยธรรม สมาคมผู้ดูแลเว็บไทย
- อดีตกรรมการบริหาร OpenSource Matters Inc. (Joomla Project)
- ผู้อำนวยการฝ่ายเทคโนโลยีสารสนเทศ สมาคมอาสาสมัครบรรเทาสาธารณภัยแห่งประเทศไทย
- ที่ปรึกษาสมาคมการดับเพลิงและช่วยชีวิต
What’s Open Source Software?
What’s Open Source Software?
Open source software
is
software whose source code is available for
modification or enhancement by anyone.
Open Source Projects
- อยากทำ Open Source Project จะเริ่มอย่างไร?
- ทำความเข้าใจเรื่อง License กับ Copyright
Open Source Projects
- อยากทำ Open Source Project จะเริ่มอย่างไร?
สิ่งที่เกี่ยวข้อง
• ลิขสิทธิ์ (Copyright) สิทธิในความเป็นเจ้าของ
• สัญญาอนุญาต,ใบอนุญาต (License)
• เครื่องหมายการค้า (Trademark)
ลิขสิทธิ์ (ความเป็นเจ้าของ)
• คุ้มครองทันที่ที่เผยแพร่ ไม่แจ้งก็ได้ (ถ้าแจ้งก็จะสะดวกในการตามหาผู้ถือครองสิทธิ์)
• เช่น เว็บไซต์ เมื่อเผยแพร่เว็บไซต์ก็เป็นเจ้าของลิขสิทธิ์ข้อมูลนั้นทันที
“Code เป็นดั่งบทกวี”
header file.
ใบอนุญาต (License)
* http://opensource.org/licenses
• สิทธิในการใช้งานซอฟต์แวร์ ที่เจ้าของลิขสิทธิ์ยินยอมให้ผู้ใช้ปลายทางใช้ซอฟต์แวร์นั้นๆ ตามรายละเอียดและเงื่อนไขที่ระบุในใบอนุญาตใช้งานสำหรับผู้ใช้ปลายทาง
• Open Source Licenses* มีหลายแบบ เช่น GNU/GPL, GNU/LGPL , MIT license (MIT) , Mozilla Public License 2.0 (MPL-2.0)
1. GNU General Public License (GPL)
เป็นลิขสิทธิ์พื้นฐานที่ถูกใช้กันอย่างแพร่หลายสำหรับ open-source projects ซึ่งเราสามารถทำสิ่งต่อไปนี้ได้
• Copy software ไปไว้ที่ไหนก็ได้และไม่มีการจำกัดจำนวน • แจกจ่ายให้กับใครก็ได้ • สามารถเก็บค่าใช้จ่ายได้ แต่มีข้อแม้ว่าจะต้องให้ source code ทั้งหมดแก่ผู้ซื้อเพื่อนำไปพัฒนาต่อด้วย
• แก้ไข ดัดแปลงได้ทั้งหมด เพื่อนำไปเป็นส่วนหนึ่งของ project ตัวเอง แต่ project นั้นจะต้องมีลิขสิทธิ์เป็น GPL ต่อด้วย
ใบอนุญาต (License)
2. GNU Lesser General Public License (LGPL)
LGPL จะต่างกับ GPL ตรงที่ ถ้าเรานำ code หรือ libraries บางส่วนไปใช้กับงานที่ไม่ใช่ open-source project เราไม่จำเป็นต้องเปิดเผย source code หรือใช้ลิขสิทธิ์เดียวกับ GPL ก็ได้
3. MIT License
เป็นลิขสิทธิ์ที่มีความเรียบง่ายและสั้นที่สุดหากเทียบกับอันอื่น ๆ เพราะ MIT กล่าวอย่างชัดแจ้งว่าสิทธิ์การใช้งานนั้นเป็นของ end-user รวมทั้งสามารถนำไปใช้ คัดลอก แก้ไข แจกจ่าย หรือนำไปขายก็ยังได้ และไม่มีการจำกัดในเรื่องของงาน แต่จะต้องมีการใส่ข้อสัญญาของ MIT ลงไปในส่วนใดส่วนหนึ่งของงาน
ใบอนุญาต (License)
4.Apache Licenseให้แสดงในเอกสารว่าเราได้ใช้ source code หรือ library ที่เป็น Apache License ส่วนโปรแกรมที่เราพัฒนาขึ้นมาใหม่จะใช้ license แบบไหนก็ได้
5.BSD Licensesง่ายๆ สั่นๆ จะเอาไปทำอะไรก็ได้ และ source code ที่ได้ทำการแก้ไขก็ไม่จำเป็นต้องส่งกลับ แต่ขอให้แสดงไว้ในเอกสารว่ามีส่วนของโปรแกรมที่พัฒนาต่อมาจาก source code ที่เป็น BSD License
6.Creative Commons Licensesถูกนำไปใช้ในลิขสิทธิ์ของผลงาน โดยอาจเป็นผลงานการเขียน รูปภาพ หรือการออกแบบ โดยเจ้าของผลงานสามารถเลือกได้ว่าผลงานของตัวเองจะให้มี license เป็นแบบไหน เช่น แสดงที่มา , แสดงที่มา-ไม่ใช้เพื่อการค้า , แสดงที่มา-ไม่ใช้เพื่อการค้า-ไม่ดัดแปลง เป็นต้น
ใบอนุญาต (License)
ใบอนุญาต (License)
ใบอนุญาต (License)
BSD
ใบอนุญาต (License)
BSD
MIT
ใบอนุญาต (License)
BSD
MIT
MIT
เครื่องหมายการค้า • เครื่องหมายการค้า (Trade Mark) คือเครื่องหมายที่ใช้เป็นที่หมายเกี่ยวข้องกับสินค้าเพื่อแสดงว่าสินค้าที่ใช้เครื่องหมายนั้นแตกต่างกับสินค้าที่ใช้เครื่องหมายการค้าของบุคคลอื่น เช่น โค้ก เป๊ปซี่ บรีส แฟ้บ เป็นต้น
• เครื่องหมายบริการ (Service Mark) เครื่องหมายที่ใช้เป็นที่หมายหรือเกี่ยวข้องกับการบริการ เพื่อแสดงว่าบริการที่ใช้เครื่องหมายนั้นแตกต่างกับบริการที่ใช้เครื่องหมายบริการของบุคคลอื่น เช่น เครื่องหมายของสายการบิน ธนาคาร โรงแรม เป็นต้น
• เครื่องหมายรับรอง (Certification Mark) คือเครื่องหมายที่เจ้าของเครื่องหมายรับรองใช้เป็นเครื่องหมายหรือเกี่ยวข้องกับสินค้าและบริการของบุคคลอื่น เพื่อเป็นการรับรองคุณภาพของสินค้า หรือบริการนั้น เช่น เชลล์ชวนชิม แม่ช้อยนางรำ เป็นต้น
• เครื่องหมายร่วม (Collective Mark) เครื่องหมายการค้าหรือเครื่องหมายบริการที่ใช้โดยบริษัทหรือรัฐวิสาหกิจในกลุ่มเดียวกัน หรือโดยสมาชิกของสมาคม กลุ่มบุคคล หรือองค์กรอื่นใดของรัฐหรือเอกชน เช่น ตราช้างของบริษัทปูนซิเมนไทย จำกัด เป็นต้น
What is a Community?
source : Joomla World Conference 2013
อะไรคือส่วนประกอบที่สำคัญของคอมมูนิตี้?
Photo source - http://magazine.joomla.org
การมีส่วนร่วม
การทำให้รู้สึกเป็นเจ้าของทำให้คนร่วมอยู่ในคอมมูนิตี้
เปิดช่องทางการสื่อสาร
เปิดช่องทางการสื่อสาร ในช่องทางต่างๆ ที่เปิดโอกาสให้ทุกคนสามารถเข้าร่วมคอมมูนิตี้ ได้
Open Tools
ใครก็ตามที่มีคอมพิวเตอร์และเชื่อมต่ออินเทอร์เน็ต สามารถที่จะร่วมสนับสนุนได้ (Contribute)
ผู้จัดการคอมมูนิตี้
เขาคือใคร ?
ผู้จัดการ คอมมูนิตี้ ทำหน้าที่ :
เปิดโอกาสให้คนได้เข้าร่วม
ผู้จัดการ คอมมูนิตี้ ทำหน้าที่ :
เชื่อในทุกๆ อย่าง
ผู้จัดการ คอมมูนิตี้ ทำหน้าที่ :
หลีกเลี่ยงความอีโก้ หรือคนอื่นๆ จะหลีกเลี่ยงคุณ
Scaling the Community
• สร้างเครื่องมือที่เหมาะสม
• แก้ปัญหาความขัดแย้งในคอมมูนิตี้
• มีช่องทางการสื่อสารหลายช่องทาง (ขึ้นอยู่กับความ
ต้องการ)
• ระบุวิธีการที่เราสามารถแบ่งคอมมูนิตี้ของเราเป็นทีมๆ • แน่ใจว่าแต่ละทีมจะสามารถสื่อสารได้กันได้อย่างชัดเจนและมี
ประสิทธิภาพ
• กำหนดขอบเขตของแต่ละทีมและช่วยเหลือสมาชิกของทีมให้
เข้าใจขอบเขตงานของทีมนั้นๆ
• ส่งเสริมให้มีความหลากหลายและสร้างโอกาสในคอมมูนิตี้
• เขียนจรรยาบรรณ (Code of Conduct) ขึ้นมา
Community TODO list
หนึ่งปัญหาใหญ่ที่เกิดขึ้นในคอมมูนิตี้
หนึ่งปัญหาใหญ่ที่เกิดขึ้นในคอมมูนิตี้
ความขัดแย้ง
• ความสงบและความมั่นใจ
• ดูข้อเท็จจริงที่เกิดขึ้น
• สนทนาพูดคุย
• เอกสาร
• ทำให้เห็นถึงและการดูแลเอาใจใส่
ขั้นตอนการแก้ปัญหา ความขัดแย้ง
เขาทำงานกันอย่างไรในโปรเจคฟรีระดับโลก
เขาทำงานกันอย่างไรในโปรเจคฟรีระดับโลก
Ten Years Together, as a community, as contributors, as friends.
https://www.youtube.com/watch?v=HMRM7CTnFAA
Ten Years Together, as a community, as contributors, as friends.
https://www.youtube.com/watch?v=HMRM7CTnFAA
Organization
Joomla! Summit 2011
OSM Summit 2011
Your OSM team, from left-to-right: Akarawuth Tamrareang, Thomas Hampton, Marijke Stuivenberg, Ryan Ozimek, Altansukh Tumenjargal, Robert Deutz, Alice Grevet, Jacques Rentzke, Sandy Ordonez, Paul Orwig, Dianne Henning
เครื่องมือที่ใช้ (บางส่วน)
• Git ( gitHub.com ) github.com/joomla
• Document ใช้ Wiki docs.joomla.org
• Forum.joomla.org
• Glip
• Skype
Flow การพัฒนา
• Tracker ( issue)
• Create Patch
• 3 คนทดสอบ
issue.joomla.org
Communication
Skype
Glip
Copyright , License, Trademark
• Copyright : OpenSource Matter Inc.
• License : GNU/GPL
• Trademark : Joomla!
Events
Joomla World Conference 2012
Joomla World Conference 2013
Pull request at JWC
วิทยากรที่มาบรรยายในงาน JWC
วิทยากรที่มาบรรยายในงาน JWC
Matthew C. MullenwegWordPress/Automattic Founder
วิทยากรที่มาบรรยายในงาน JWC
Jono Bacon Community Manager
led the Ubuntu community at Canonical.
https://www.youtube.com/watch?v=v3GSfIPYMwI
https://www.youtube.com/watch?v=v3GSfIPYMwI
Community Activity
ไทย,เวียดนาม,อินเดีย,จีน,ไต้หวัน,มาเลเซีย, เบลเยียม
CC BY-NC-ND 3.0 - Google Inc.
Google Summer of Code 2016
ทีมพัฒนา FLEXIContent CCK for Joomla!
FLEXIContent.org
ทีมพัฒนา FLEXIContent CCK for Joomla!
FLEXIContent.org
mautic.com
Business Model
Photo source - http://magazine.joomla.org
Technology does not better the world,
People do!