This is the sharing ppt and manuscript at Kaiyuan's 2021 event
Hello everyone, I’m sluke from the Typecho development team, thank you everyone for listening to me online and offline
What I share with you is a short story, a story of 15 years of an open source blog program, which is a little inspiration and experience of this team
Introduce the Typecho product. This is a lightweight blog program written in PHP. The predecessor was the personal project Magike blog born at the end of 2006. It was upgraded to Typecho in 2008 and experienced many, many versions, with many refactorings in between. , The official version 1.0 was released in 2014, and to version 1.2 in 2021, so this is really a project that has persisted for 15 years.
The typecho code was first hosted on Google code, and later on GitHub. Developers love it. The current performance is like this. 8.3K stars and 1.7K forks are barely regarded as an old open source project.
Typecho is a compound word composed of Type and echo
Type means typing. The blog is a platform that allows us to express ourselves on the Internet through typing.
Echo, which means echo, feedback, and resonance, is also the most common and simple function in PHP. I believe that most PHP enthusiasts started their own PHP programming road with echo'Hello, world!';.
We choose such a project name, also hope that typecho can become a way for us to express ourselves in the open source world.
Introduce the typecho team,
The main team, Joyqi and Fen, typecho 99% of the code was completed by them; the rest of the people who do not deserve to have names are the atmosphere group, about 1% of the code completed; the entire team is roughly equivalent to the RPG game, Saint The knight Joyqi and the mage Fen, took us a few passers-by.
Introduce myself,
I am a full-time reminder of Typecho, the first product operation, and the first copywriting plan. I am a product manager. Now I am an FA who helps project financing. You can find me on GitHub.
This 15-year-old story starts with an open source program called exblog. Back then, joyqi was a young guy who was still in college. He developed several popular skins for exblog and was absorbed into the development team of exblog. , Exblog is the light of enlightenment of Joyqi classmates. Later, this project was stopped for various reasons, which is a pity. At the end of 2006, Joyqi, who had finished his internship in Beijing, returned to school to develop and develop his own Magike project. Later, he had typecho.
Judging from the beginning of this story, Typecho is actually a kind of feedback to the open source world by joyqi and the joining of us later. We have all gained a lot from the open source world. Here is an incomplete list of some blog programs that we have referenced and studied. This is a CMS, thanks to these open source authors.
After talking about the beginning, let's talk about persistence. I try to summarize a model that a non-profit open source project can persist. Maybe it can give some inspiration to open source enthusiasts who are listening to the sharing.
If you want to find a reason for persistence, you need to go back to the distant starting point. That was the wordcamp beijing event in 2007. This was a gathering of wordpress lovers. It was the first time I met so many independent bloggers and well-known Internet celebrities, and the Typecho team ranked first. The true gathering is also to meet at this event. In short, we had a very good chat at this event and felt the charm of the open source community. After that, I have participated in wordcamp many times.
Later, Typecho had its own community and party. We gradually realized that if we want to persevere, the "relationship" carried by the community is the most important driving force.
People are persistent routing. Open source projects start with enthusiasm and are maintained by relationships. From 2007 to the present, there has been a good and stable relationship between Typecho developers and between developers and users.
A stable relationship brings a stable sense of value to developers, and also brings persistent core developers and external developers;
A stable relationship brings users a sense of certainty and belonging, as well as tolerance and care for the product
The stable relationship brings long water to the community and also forms the culture of typecho
If you want a stable relationship to be solidified, you need a continuous behavior. To sum up, it is to lock a group of people, use new things, and constantly meet a small amount of fixed needs. For Typecho, the refinement is to lock independence. The blog user group uses new technologies and new tools to iteratively develop a blog program to continuously satisfy the user group’s needs to express themselves through the blog site itself and content.
This contains the meaning of the unity of two opposites,
The user group and needs are fixed and do not change easily. The group of independent bloggers is a very small group of people, even a group of fewer and fewer updates. It is very stable. It comes from the specific need of "expression". See, it is also stable, but there are changes in details. For example, different terminals use different syntaxes and different editors to write content. Therefore, the technology and product functions are fixed relative to the user group and needs. Flow of
An analogy will make it clearer, let’s look at non-mainstream music, or some niche bands
Music, like blog content, is a carrier of personal expression;
Albums, like blog programs, are containers for storing content;
Non-mainstream music is a toy for a few people. When a band or singer chooses a niche music style, they actually give up a lot of audiences. This makes niche music take a different path from mainstream pop music.
Popular music enjoys low barriers, low learning costs, and a wide audience. It is a fast-moving consumer product
The niche music appreciation threshold is high, and the learning cost is high, because it needs to understand a lot of background knowledge and even appreciation skills, the audience is narrow, and it is a durable product.
In this way, niche music becomes a clearly differentiated content, and the fun of niche bands becomes fun that takes a long time to slowly release.
As a result, we also get a set of opposites and unity of fixation and flow.
The niche fans and the music style they appreciate are relatively fixed, that is, what they want to express remains the same
The arrangement of music and the performance of the band are fluid and not fixed, that is, the details of the expression are changing.
At the same time, just as a band often performs, an open source program should also be released frequently to face users.
Going back to the keyword of "relationship", a niche music or niche band can go far. Bands and music fans may form a kind of "cultivation relationship" relationship. They have been together for many, many years. I wonder if the teams in some cities, even the popular Deyun clubs and talk shows, are also like this kind of "cultivation system" relationship.
I found the key word of "relationship", and the next step is to share a little bit of experience in maintaining "relationship". It may not be suitable for all open source projects. There are three points of experience.
The first snack: resources are limited and there are trade-offs
We have limited time and limited resources, and we need courage and wisdom to actively give up many things in order to have the conditions to persevere.
This involves the developer's positioning of himself, the positioning of the project, and the definition of the selection criteria
First of all, if open source projects are not your source of income, don’t affect your family’s support. When faced with time and resource conflicts, focus on your main business and don’t want to take care of it. Instead, you want to take care of your main business first and then open source.
It’s very interesting. Typecho’s development team are all people who love toss and are all related to entrepreneurship.
joyqi&fen&sunny, is the founder of segmentfault, which is one of the best Chinese developer communities
I used to be the COO of the co-founder of pmcaff's product manager community. This is the oldest product manager exchange community. Now I am an FA that helps start-ups and open source projects.
Other people are either starting a business or succeeding in a business
Only if the main business is guaranteed, can we continue to explore and give back to the community, and will not delay our update of typecho
Typecho is a product that has its own personality, which is a lightweight blog program, so when developing, we can choose many things based on this personality.
For example, emphasizing internationalization support; emphasizing flexible plug-in API; emphasizing a very small number of database tables;
For example, there is no static caching mechanism; there is no editor in the early days, only hand-written markdown is supported; there is no official backup plug-in;
We just want to make typecho a simple container. The real protagonist is the content written by the blogger. The choice is to make typecho not develop towards a complex CMS, but maintain the form of a blog program, which requires more time for the development team. Low, it is easier to stick to development.
To put it simply, the product concept allows the product to choose the user group by itself, leaving behind those who "smell the same"; and the product's personality is actually the user's personality for themselves. Typecho's simple positioning also requires users to make a choice. Choosing a typecho means that there is a certain threshold for use, and even inconvenience, just like driving a manual transmission car, where fun and pain coexist.
How can we evaluate whether our choice is correct? That is, whether users who use typecho actively post to Moments or Amway's small program, do they use a simple-oriented blog program to strengthen their identity.
Second snack: limited enthusiasm, need relationship, need real relationship
Time is precious, and enthusiasm is easily lost, especially in endless discussions. The persistence of this project like Typecho depends largely on the enthusiasm of the core members and whether they write the code or not. Therefore, it is necessary to let a very small number of people as the core team to decide the trade-offs mentioned in the first point.
Let the majority mention isssue, discuss with a few people, and let a few people make decisions
The core developers must meet when they have a chance. Before joyqi and fen were in Hangzhou, I would visit their office when I went to Hangzhou on business. I would also participate when they held events in Beijing. Now it’s much better. I think Do you have an office in Beijing
Third snack: limited ability and need community
This is not just to say that open source projects require other developers to contribute code, but the open source community is the true carrier of the "relationship" and the cornerstone of the project's activity and survival.
First of all, tools and technologies should be fashionable. Keep tools updated. Use tools to stimulate community users and developers. Enthusiastic developers will always use new tools.
Open source projects are first of all toys, and toys that are often new and often played are interesting. Even if the technology that is labeled as "dead", even if it is stable and perfect, it is easy to be abandoned by developers.
Therefore, Typecho is relatively radical in choosing to support new technologies and new architectures, such as giving up support for PHP5 and developing official containerized scripts.
Secondly, the community must be stubborn, even based on the product concept and the status quo. Fortunately, typecho community users are quite able to complain.
For example, there are few logs, and the skin changes quickly
For example, there are few lines of updates and a lot of issues
Joyqi himself is also a stalker. If the KOL in the community has his own stalk, it will make this KOL look more lively and have a closer relationship with users.
For example, Joyqi always needs to update the typecho in the annual summary, but it is the stalk of the total bounce.
For example, Joyqi’s rising hairline
Summarize a few key points that Typecho persisted
Be accurate, have product positioning, and don’t deviate
Only by doing less and knowing how to choose, can we update at certain whim.
Be personal, keep enthusiasm, keep interaction, keep relationship
Finally, borrow a sentence from Joyqi's blog to illustrate the bottom value of the Typecho project
A personal blog is like a small island in the ocean, so inconspicuous in the wave of information, but its existence itself shows a sense.
This is the end of my sharing. I hope to have more exchanges with everyone who loves open source. It can be open source project operation, open source project financing, or product consulting and advice.
You can reach me through this email
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。