Open Source Software Development & Management

Open Source Software Development & Management

Hacking Thursday => Hacking every Thursday!

探討參與開源所需條件和特質,接受「開放討論」和「知識型分享」。

講者可針對專案運作方式提出討論,引導會眾互動、闡述見解和想法;
知識型分享的方向則著重在與主題相關之方法、工具或管理流程分享。

議程列表

如何處理個人開源專案與公司商業目標的關係?

fatfingrererr

IB401

08/12 09:30 - 10:15

漢語 / Mandarin Chinese

Skilled / 中階

Tech Lead, PM, PG

絕大多數自己在進行與維護的開源專案,往往都和在公司工作內容不太有關係,可能是擔心在公司外做與公司有關的開源專案,可能會引來不必要的法律糾紛,同時還有職業道德層面的考量,這些都無可厚非。然而隨著科技日新月異,知名且穩健的開源專案與技術,也逐漸在各家公司中的產品與服務占比越來越高,開發人員不得不更多的了解和參與到各種開源專案之中,身為這個時代的開發人員兼開源愛好者,如何兼顧公司商業需求與開源專案維護,又不傷害到兩者呢?

在討論之前,會先由講者 fatfingrererr 簡單介紹他於 2016 年起於公司內部推行「員工個人開源專案開發承諾書」的心路歷程,由於公司自 2015 年起開始採用許多開源專案,作為內部演算法計算的支援模組,然而當研發人員想改進支援模組時,就會遇到是否合適向開源專案提 PR 的兩難。

在經過一連串與公司法務、主管的討論後,逐漸建立了一份「員工個人開源專案開發承諾書」,雖然可能不適用於所有行業的情況,但是其中的來來回回的各種討論,相信非常值得大家來了解。

至 2017 年 GitHub 公布了一份 BEIPA 平衡員工智慧財產權同意書(Balanced Employee Intellectual Property Agreement,簡稱 BEIPA),鼓勵員工在自由時間進行自己的開源專案,並且不用擔心與公司產生糾紛。因此講者最終結合了 BEIPA 與先前的承諾書,最終定版了一份同意書,在公司內部已經使用 5 個月至今。

如果你對於方面的主題有興趣了解與討論,歡迎來這個講題一起參與!


Collaborative notes on HackMD

瀏覽器原理與開源經驗

劉安齊

IB401

08/12 10:15 - 11:00

漢語 / Mandarin Chinese

Begineer / 入門

junior web engineer, engineer with none open source experience

Mozilla 的 Servo 專案是新一代瀏覽器引擎。演講將分兩部分,先介紹原理、談一下進階的實作方式,再分享過去我在開源上的心路歷程。


Collaborative notes on HackMD

下一個 3A 級即時戰略遊戲大作 - 0AD

張正一

IB401

08/12 11:00 - 11:40

漢語 / Mandarin Chinese

Begineer / 入門

遊戲玩家、遊戲開發者、開源貢獻者

0AD 從 2000 年左右,以作為商業專屬遊戲世紀帝國 2 的外掛模組的成份現身,更接近史實與真實性的構想一時受到不小的歡迎,但受限於微軟遊戲引擎與商業利益的限制,最終選擇出走開發自己的獨立免費遊戲。

經過 6 年的閉源開發,期間內有重要成員去世、為了家庭因素出走,不但沒有夠好的成果,這個計畫也漸漸為人所遺忘。最後該團隊在 2009 年決定開放原始碼,程式授權採 GPL, 圖像、音聲授權採 CC BY-SA,此舉大為改變了這個計畫的命運。

時間來到 2018 年, 在 Alpha 0.20 版以後, 0AD 的可玩性越來越高,諸多更貼近史實又有很優秀可玩性的設計,已經被不少玩家認定比類似主題的世紀帝國 1、 2 更為好玩,連遠在台灣的電競圈也有玩家注意到這個遊戲,開始為它推廣。

以開放原始碼模式經營的遊戲,在過去通常只有 me2 的等級 - 復刻重作舊時代的遊戲;或者是商業引擎開源後,開源社群使用開源版引擎然後把遊戲原有的商業的圖片、音聲檔資源檔換成 CC 的,這些遊戲老實說就只有開源社群的自己人在玩。幾乎沒有人以 3A 等級的品質為目標,創作全新的遊戲。

然而今天 0AD 做到了,雖然還在 alpha 階段,已經作到一般的遊戲族群都開始在討論的程度,還把它跟世紀帝國相提並論,評價甚至有過之而無不及。反過來開源社群才嚇一跳,「我們圈子裡出了這麼厲害的遊戲?」

這件事情非常值得探討,這可能也是一個里程碑 - 開源模式也能開發出 3A 級高品質遊戲。

附註 0AD 的特色:

  • 不同文明的差異:世紀帝國的作法只是技術樹稍有不同,但是通用單位圖片共用外加一種特種兵,比如南美馬雅的步兵是歐洲騎士的模樣。但是 0ad 是每個文明的兵種都有獨特的造型、機能,技術樹的系統也南轅北轍,比如說印度有工作象、羅馬有前鋒山寨堡

  • 男女公民有別,男性全民皆兵,平時工作,戰時出征

  • 陣型:除了通用的幾種外,特殊文明還有特別的陣行,如希臘方陣、羅馬龜甲陣

  • 招降系統:0ad 的建築無法用人力用刀劍輕鬆取下,但是有招降機制

  • 防禦性建築的真實性:世紀帝國的石牆類建築如圍牆等不用專門攻城器具,用刀劍都砍得破,但是 0ad 不可能很不經濟,只有用攻城器具。而且圍牆上面還可以站

  • 陣型有真正的效果,還可以慎定細微電腦攻守的細節原則,讓你可以像電腦一樣做細微控兵。
    *AI 比起 AOE 系列厲害很多,有做進仿人的思考


Collaborative notes on HackMD

像 ide 一樣的 neovim

Kuo-tung Kao

IB401

08/12 11:40 - 12:10

漢語 / Mandarin Chinese

Begineer / 入門

開發者,愛好 vim,只愛用鍵盤的人

時代在進步。vim 有需多變化,vim fork 版本,也增加 了許多原有的 vim 沒有的功能。新的技術出現,如 Language Servere Protocol 的出現,也讓 (neo)vim 更加的強大。此議程會分享如何將 (neo)vim 改成向像 IDE 一樣強大,並示範如何用 (neo)vim 解決工作與日常問題。


Collaborative notes on HackMD

Civil Infrastructure Platform - 工業級開源平台

林上智

IB401

08/12 13:10 - 13:40

漢語 / Mandarin Chinese

Begineer / 入門

Embedded Linux Developer

Civil Infrastructure Platform (CIP) 是以 Linux 為基底來打造長期維護的城市基礎建設嵌入式平台. 此平台除了包含支援 10 年以上的 Linux kernel 外, 也含有許多開源軟體以及相關強固設計. 其中設計包含 Real-time, Cybersecurity 以及 Testing. CIP 的目標為透過開源協作, 一同打造讓人類社會更進步的基礎平台. 此次分享 SZ 會介紹如何城市基礎建設的強固基礎平台, 並邀請各位一起讓人類社會更加美好.


Collaborative notes on HackMD

The Apache Way: Contributing to Apache Projects

戴資力 Tzu-Li (Gordon) Tai

IB401

08/12 13:40 - 14:10

漢語 / Mandarin Chinese

Begineer / 入門

Developers interested in open-source contribution (especially ASF projects)

The Apache Software Foundation is an all-volunteer organization that maintains and incubates over 350 open source projects that cover a wide range of technologies. Contributing to an Apache project is certainly one of the most direct ways to get in contact with some of the most brilliant software mindsets worldwide to work together on exciting ideas.

However, for some beginners to open-source contribution, taking that first step and submitting your first pull request could be quite intimidating.

This talk aims at introducing how Apache projects operate, how you can engage a project as a new contributor, and key points that lead to a rewarding contribution experience.


Collaborative notes on HackMD

Application Synthesizer

Ming Jiang

IB401

08/12 14:15 - 15:00

English

Skilled / 中階

DevOps engineer

The application synthesizer allows the testers to define and automatically deploy synthesized applications, components, and their features according to a form of high-level specification. The specification could define the number of VMs deployed, each VM’s resources (such as memory, CPU, disk, and networking parameters), the type of applications in a VM (such as load balancer, web server or database server), VM’s communications mechanisms (such as socket or queues), anomaly event triggers by VM (such as rebooting an application and up/down interfaces according to timer), etc. With such a powerful application synthesizer, the testers possess the capability to reliably test Application Performance Management in a controlled and scalable cloud environment.


Collaborative notes on HackMD

Building popular open source projects

Yo-An Lin (c9s)

IB401

08/12 15:00 - 15:30

臺語 / Taiwanese

Begineer / 入門

Developers

鈦金級贊助

Co-Host Sponsor

鑽石級贊助

黃金級贊助

白銀級贊助

青銅級贊助

合作夥伴

協辦單位

特別感謝