Building and Maintaining Open Source Project - YWC14

Post on 20-Jan-2017

26 views 0 download

Transcript of Building and Maintaining Open Source Project - YWC14

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)

akarawuth@marvelic.co.th

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.org

Marketing Automation

mautic.com

Business Model

Photo source - http://magazine.joomla.org

Technology does not better the world,

People do!

Q&A http://www.marvelic.co.th

http://slideshare.net/akarawuth