DEV Community

Evan Lin
Evan Lin

Posted on • Originally published at evanlin.com on

Sharing a Talk: "How to Build Your Own Open Source Project"

title: Presentation Content Sharing: "How to Build Your Own Open Source Project"
published: false
date: 2022-11-23 00:00:00 UTC
tags: 
canonical_url: http://www.evanlin.com/gdsc-nycu-opensource/
---

![img](https://lh3.googleusercontent.com/pw/AL9nZEVlzhyxWZjbu88nkA87feJoVYHRrv5OuAwLTH7hrFzuFxISNwaBh99z8SE6Coc6wb5m-VfuFvfL27a40mbob42MYIAVYgDB3KOjeSbSNME4WO6ArvE4eyLxttuIg7QUSb4CVqZjyRofVu_vr3ZHtFz9Qw=w2362-h1578-no?authuser=0)

# Preface

Hello everyone, I am Evan Lin, a senior development department member of the LINE Developer Relations team. My main job is to promote platform technology and build and communicate the technical brand. I am very honored to be invited by the DSC (Developer Students Club) developer student community of National Yang Ming Chiao Tung University to the 117 classroom of the Engineering Building 4 of National Yang Ming Chiao Tung University to share my experience on how to build your own open source project. The students were very enthusiastic this time, and I am very grateful to the students for being willing to listen to my explanation of how to participate in the development of open source projects on a rainy night.

## Slides
<iframe frameborder="0" src="https://speakerdeck.com/player/93aa38e46a4b47d199a7db57918f1df1" title="如何建立自己的開源專案" allowfullscreen="true" mozallowfullscreen="true" webkitallowfullscreen="true" style="border: 0px; background: padding-box padding-box rgba(0, 0, 0, 0.1); margin: 0px; padding: 0px; border-radius: 6px; box-shadow: rgba(0, 0, 0, 0.2) 0px 5px 40px; width: 560px; height: 314px;" data-ratio="1.78343949044586"></iframe>

Some of the content is welcome to refer to this article [LINE Developer Community Program: "Hands-on Guide to Building Your Own Open Source Project"](https://engineering.linecorp.com/zh-hant/blog/gdsc-opensource/), which includes:

- Find a great idea
- Well Documentation
- Well Workflow
- Find your first contributor
- Promote ! Promote ! Promote !

The following will specifically list the new content shared in this presentation:

# Is open source project useful for work?
<iframe frameborder="0" src="https://speakerdeck.com/player/93aa38e46a4b47d199a7db57918f1df1?slide=32" title="如何建立自己的開源專案" allowfullscreen="true" mozallowfullscreen="true" webkitallowfullscreen="true" style="border: 0px; background: padding-box padding-box rgba(0, 0, 0, 0.1); margin: 0px; padding: 0px; border-radius: 6px; box-shadow: rgba(0, 0, 0, 0.2) 0px 5px 40px; width: 560px; height: 314px;" data-ratio="1.78343949044586"></iframe>

I have recently seen students discussing whether engaging in open source projects or writing some of their own side projects is related to work? Here, I can share that LINE's internship opportunity, LINE TECH FRESH, is very concerned about your open source projects, because from open source projects, you can see the following key points:

- Do you have good documentation habits (this can be demonstrated by your project's README.md)
- Does the project have a good CI/CD process, which also represents whether you understand some basic processes.
- By looking at the code of related projects, you can understand your understanding of Git.
- In addition to these, a good open source project means that you also have good Pull Request training and habits. For multi-national collaboration, you can also adapt to the relevant team collaboration methods more easily.

# Is it important to do questions?
<iframe frameborder="0" src="https://speakerdeck.com/player/93aa38e46a4b47d199a7db57918f1df1?slide=31" title="如何建立自己的開源專案" allowfullscreen="true" mozallowfullscreen="true" webkitallowfullscreen="true" style="border: 0px; background: padding-box padding-box rgba(0, 0, 0, 0.1); margin: 0px; padding: 0px; border-radius: 6px; box-shadow: rgba(0, 0, 0, 0.2) 0px 5px 40px; width: 560px; height: 314px;" data-ratio="1.78343949044586"></iframe>

YES, YES and YES.

If you are in software development related work, this is absolutely important. Just like you passed the university entrance exam, if the only way to enter these national universities is through exams. Even if you have various talents, the exam scores are still one of the only proofs you can provide.

For R&D engineers, the most important thing about doing questions is:

- **Analysis of the problem:** Being able to accurately read the questions and understand the real problem.
- **Familiarity with data structures:** Familiar with data structures and the problems they can solve.
- **Algorithms:** Familiar with each algorithm and its possible time complexity, so that you can use it for the questions.

These are important skills for programmers, so I think this is just the basics. And you are facing the fact that everyone has done the questions, and you have open source experience. Then for the interviewer, you have a considerable advantage. (The important thing is that you don't need to spend time teaching you).

# About LINE Student Internship Opportunities: LINE TECH FRESH Introduction
<iframe frameborder="0" src="https://speakerdeck.com/player/93aa38e46a4b47d199a7db57918f1df1?slide=40" title="如何建立自己的開源專案" allowfullscreen="true" mozallowfullscreen="true" webkitallowfullscreen="true" style="border: 0px; background: padding-box padding-box rgba(0, 0, 0, 0.1); margin: 0px; padding: 0px; border-radius: 6px; box-shadow: rgba(0, 0, 0, 0.2) 0px 5px 40px; width: 560px; height: 314px;" data-ratio="1.78343949044586"></iframe>

Every year, the LINE Taiwan engineering team recruits students from information technology related departments or those who have some knowledge in this field to join the LINE team for long-term internships (one-year term) through [LINE TECH FRESH – Technical Rising Star Talent Program](https://career.linecorp.com/linecorp/career/detail/20000111/704/5570?classId=&locationCd=TW&page=), allowing students to observe and learn in an international technology company. LINE TECH FRESH is led by experienced technical project managers to lead the team, access diverse projects and product development, learn the industry's actual software project division of labor, and experience cross-national team cooperation. In previous years, the work content included server, web, mobile app, chatbot, IoT, data, DevOps and other fields, and through internships, they became familiar with LINE platform systems, SDK, API, etc. It is worth mentioning that LINE TECH FRESH is a paid internship opportunity. For students who are passionate about software development and have ideas, don't miss this opportunity to show your creativity and drive!

More articles about LINE TECH FRESH are:

- [What internal activities are there besides development during the one-year internship of TECH FRESH?](https://engineering.linecorp.com/zh-hant/blog/line-tech-fresh-2020-graduate/)

- [【Interview】TECH FRESH Work Honestly – Follow-up Highlights and Related Information](https://engineering.linecorp.com/zh-hant/blog/what-is-tech-fresh-interview/)

- [Life in LINE – Direct Hit TECH FRESH Internship Content!](https://engineering.linecorp.com/zh-hant/blog/life-in-line-tech-fresh-sharing/)

- [TECHPULSE 2020 Youth Main Stage – TECH FRESH Agenda and Booth Introduction](https://engineering.linecorp.com/zh-hant/blog/techpulse-2020-tech-fresh-session/)

- [LINE TECH FRESH 2022 Interview Sharing](https://engineering.linecorp.com/zh-hant/blog/line-tech-fresh-interview-2022/)

- [【LINE TECH FRESH】Graduated in 2021! What's new this year?](https://engineering.linecorp.com/zh-hant/blog/line-tech-fresh-2021-gradute/)

- [What is the intern doing in the Data Dev Team? LINE TECH FRESH Life Sharing](https://engineering.linecorp.com/zh-hant/blog/data-dev-team-tech-fresh-life-2/)

- [Data Engineering Team TECH FRESH Internship Life Sharing](https://engineering.linecorp.com/zh-hant/blog/data-dev-team-tech-fresh-life-1/)

- [LINE Dev Meetup 16 TECH FRESH Campus Recruitment On-site Event Sharing](https://engineering.linecorp.com/zh-hant/blog/line-dev-meetup-16/)

# Related inquiries from students:

## 1. Why, during the presentation, the lecturer is very concerned about the related concepts of CICD, rather than how to find a good open source idea?

### A:

The main reason is because, "It's hard to buy a good idea XD", if you must have a good idea before you can start your open source project. Then you may never start.

I would rather suggest that every student can go the other way around, you can try to use Github to manage everything.

Even if you have the opportunity to use Github because of school assignments. You can try to add more README to explain, and add some Test cases to test your code through Github Actions. Not only can you test whether the program can be fully compiled by compiling the program, but you can also consider using SonarCube (a tool to understand testing coverge) in combination with Github (this [online article teaches quite well](https://blog.marsen.me/2020/04/27/2020/sonarqube_run_with_github_action/)).

## 2. What was the cause of engaging in open source projects in the first place?

### A:

Originally, I was mainly just an Open Source user, but due to the reason of learning Golang at the time. I thought that I could challenge myself through a small project every week to make myself work hard to learn this language. [You can refer to this article and the 2016 COSCUP presentation content](https://www.evanlin.com/coscup2016/). To be honest, through high-intensity self-discipline and challenges, you can effectively learn and understand many related knowledge of open source projects, and therefore truly enjoy the fun of engaging in open source project development.

## 3. How to ask questions?

### A:

- If you haven't opened your Github account yet, and you have many questions. You can consider asking me through Github.
- Any open source questions are welcome: [https://github.com/kkdai/AMA](https://github.com/kkdai/AMA), you can also learn how to open an issue.
- Small trick: Github Issue is also a kind of Contribution!

# About the LINE Developer Official Community

Join the "LINE Developer Official Community" official account immediately, and you can receive the first-hand Meetup activities, or push notifications of the latest news related to the developer program. ▼

"LINE Developer Official Community" Official Account ID: [@line\_tw\_dev](https://lin.ee/s5RsZHo)

![](http://www.evanlin.com/images/2020/line-tw-dev-qr.png)

## About the "LINE Developer Community Program"

LINE launched the "LINE Developer Community Program" in Taiwan in early 2019, and will invest long-term manpower and resources in Taiwan to hold developer community gatherings, recruitment days, developer conferences, etc., both internally and externally, online and offline, and has held more than 30 events. Readers are welcome to continue to check back for the latest updates. For details, please see:

- [2019 LINE Developer Community Program Event Schedule](https://engineering.linecorp.com/zh-hant/blog/line-taiwan-developer-relations-2019-plan/)
- [LINE Taiwan Developer Relations 2019 Review and 2019 Developer Community Program Report](https://engineering.linecorp.com/zh-hant/blog/line-taiwan-developer-relations-2019/)
- [2020 LINE Developer Community Program Event Schedule](https://engineering.linecorp.com/zh-hant/blog/2020-line-tw-devrel/)
Enter fullscreen mode Exit fullscreen mode

Top comments (0)