個人のオープンソースの片隅にある「邪魔なトラ」を倒す - オープンソースへの私の道

Apache オープン ソース プロジェクトへの参加から、ビジネス ニーズに基づいて個人的なオープン ソース プロジェクトを独自に開発するまで、誰も気に留めないプロジェクトのオープン ソースから、500 個以上のスターと多くのエンタープライズ ユーザーまで。今日まで耐えることを選択します。

その過程でどんな困難に遭遇し、何を得ることができたのでしょうか?私はこれを利用して、オープンソースのデータ比較の過程で遭遇した浮き沈みと利益を共有したいと思います。オープンソースの隅に「トラをブロック」させないでください。

キャリア開発、オープンソースへの道を切り開き、力を蓄える

まず、私がオープンソースに参加しようと思った理由について話させていただきますが、私がIT業界に入った時から、「IT業界は若者の飯」と思っている業界の人が多く、この年齢になるとリストラされてしまうのです。 35歳になると会社はなくなる。私もJD.comやBATなどの大きな工場で働き、優秀な技術者をたくさん見てきましたが、35歳で欲しがる企業はないのではないかと思っていました。

また、急成長している企業に入社して会社の発展をずっと追いかけてきた人や、仕事や転職を気にすることなくオープンソースのプロジェクトに参加して業界で大きな影響力を獲得した人も多く、優秀な技術人材を見てきました。 40 歳を迎えた今でも多くの企業から支持されています。

オープンソースに参加することは、就職活動であれ、その後のキャリア開発であれ、個人にとって非常に良い道です。正直に言うと、私が初めて卒業してコントリビューターになったときに、Apache オープンソース プロジェクトに参加できたのはとても幸運でした。インタビュー中、彼らは皆、多かれ少なかれその恩恵を受けました。

初めてオープンソースを知り、突破口を開く

私自身を例に、私自身のオープンソース参加体験を中心に紹介します。

私が初めてオープンソースに参加したのは、インターンシップを始めたときだったことを今でも覚えていますが、当時私は国内の有名電子商取引企業でインターンとして、オープンソース化されたデータクオリティプロジェクトに参加していました。 eBayによる。

インターンとして私は多くのことをよく知りませんが、ebay の同僚は非常に熱心で、時間をかけてプロジェクトの構成と構築を指導し、プロジェクトが確実に実行できるようにしてくれました。また、彼らは私たちの会社にも来てくれます。説明をすること。その時は何も感じなかったのですが、今にして思えば、同じ会社ではないのに、今でもこんなに熱心に取り組んでいるのですから、考えてみれば、同じ会社の同僚にはできないこともあるのかもしれません。おそらくこれがオープンソースの背後にある力です。

 

最後に提出されたコードもマージされており、このプロジェクトに貢献できることを非常に光栄に思います。

その後、私は多かれ少なかれいくつかのオープンソース プロジェクトに参加しました。その理由は、使用されているテクノロジの原理を理解したいためでした。また、オープンソース プロジェクトなどで報酬が得られる可能性もありました。しかし、コミュニティの人々のグループが非常に熱心で、時間をかけてコードをレビューし、自分の質問に辛抱強く答えようとしていることは明らかです。その過程で私も多くのことを得ることができました。オープンソース プロジェクトに参加する過程で問題が発生した場合、コミュニティの友人が喜んでその方法を教えてくれ、問題の解決を手伝ってくれるので、そこから多くのことを学ぶことができます。

自分の力を使って多くの問題を解決し、オープンソースの片隅に「ブロッキング・タイガー」を占拠させないでください。

個人のオープンソースの難しい部分は、オープンソース プロジェクトに参加した実際の個人的な経験と、実際に見られる困難、特に具体的な考えを強調することを目的としています。

以前、社内のニーズで簡単なツールを開発したのですが、その時に他の企業でも同じようなニーズがあるのではないかと考え、オープンソース化してみました。

企業に比べ、個人がオープンソース化することはまだ難しい。ビッグデータとバックエンドをやっているので、フロントエンドは長いことやっていなかったので、フロントエンドのことはほとんど忘れていました。このオープンソース プロジェクトでは、フロントエンドの開発作業が多すぎることを避けるために、インターネット上のいくつかのオープンソース フレームワークも使用しています。そのため、スタック全体を学習し、フロントエンド、バックエンド、データだけでなく、運用とメンテナンスについても学ぶ必要があります。そして、これらは基本的に企業に参加するチームです。

それから、それをどう推進していくかということですが、これも長年の課題でございます。通常の企業の製品は運用チームによってサポートされます。しかし、個人のオープンソースとして、これらのことのうち 87 を実行する必要があります。製品と使用方法のドキュメントを作成し、運用とメンテナンス、さらには製品のプロモーションと運用のためのコードを作成します。そして、これらのタスクは社内の複数のチーム、または少なくとも小規模なチームによってサポートされています。最後に、オープンソース プロジェクトの継続的な更新と反復を確実に行う方法、つまり、プロジェクトを更新しないのではなく、プロジェクトの持続可能性を確保する方法について説明します。

オープンソースだったときにこれらの問題をどのように解決したか教えてください。

a. 開発運用と保守。これには、開発環境を迅速に構築するために docker を使用するなど、インターネット上のいくつかのツールを使用できます。また、苦手な技術スタックを回避するために、インターネット上の既製のオープンソース フレームワークを使用できます (私はフロントエンドが得意ではありませんが、オープンソースの助けを借りて、フレームワークは依然として独自の製品を実装することが完全に可能です)。

b. プロモーションは主にこれまでの蓄積に基づいており、私が長年行ってきたプロジェクトをまとめたので、オンラインアウトプットを通じてファンのグループが蓄積されているので、それらのリソースをプロモーションに使用し、同時に当時、私の周りにはテクノロジーを開発している人がたくさんいて、それを使っていくつかのことを実行している人もいるので、まだ普及するのがやっとです。

c. 次に、製品の使用に関するドキュメントを作成します。この部分は、頻繁にブログを書いたり要約したりするため、実際には非常に雑です。書かれたドキュメントは他の人にも理解され、一部のユーザーのフィードバックに従ってドキュメントの不完全な部分が改善されます。こうすることで、他の人がプロジェクトを開始するときに、文書化されたドキュメントに確実にアクセスできるようになります。

d. 最後で最も難しい点は、一人の人間のエネルギーには本当に限界があり、会社の仕事をこなしながらオープンソースを実行しなければならないということです。フルタイムでやれば、もっと良いかもしれません。より多くの開発者ができることを願っています。一緒に開発しましょう。

私が現在ここで試みている方法は、まずプロジェクトのコア機能を開発してプロジェクトを確実に利用できるようにし、次にそれを宣伝して最初のユーザーまたは企業を獲得し、ユーザーのフィードバックに基づいて反復的に進めることです。完成した大きな製品をすぐに開発するのではなく、結局のところ、マンパワーはまだ限られています。

個人的なオープンソースとしては、ユーザーを惹きつけるために、プロジェクトの核となる部分に時間を費やすことで、プロジェクトが明るく使いやすいものになるように、大きなことを行うことに集中する必要があると思います。ユーザーの最初のバッチの後、繰り返しを続けることができます。

 e. オープンソース プロジェクトの持続可能性をどのように確保するかについては、現在、小さなステップで繰り返しているところですが、まず dataCompare のコア機能を完成させ、次にそれを推進していきます。その後、一部のユーザーや企業が問題を抱えていることがわかりました。その後、フィードバックを追跡して改善し、プロジェクトの持続可能性を達成するために、ユーザーの使用状況をより早く理解するためにプロジェクト コミュニティまたはコミュニティを構築します。

実際、私が最初に dataCompare をオープンソース化する準備をしたとき、それは単に個人的な興味であり、自分自身のニーズと組み合わされたものであり、誰かがそれを使用し、注目してくれるかどうか、まだ心配していました。私は長い間フロントエンドを書いていないので、layui フレームワークを使用していますが、全体的に見て、フロントエンドはプロのフロントエンド開発者ほど優れたものではありません。そこで、私も挑戦してみようという気持ちを持って、コードを GitHub にプッシュし、簡単な宣伝をしましたが、一部の人が注目していることがわかり、最適化へのモチベーションが高まりました。

最も重要な点は、dataCompare を使い始めた企業ユーザーが見つかり、このユーザーと長い間コミュニケーションをとった結果、一定の市場がまだ存在していることがわかりました。さらに、ある企業のCEOもこのプロジェクトに興味を持ち、自分にオリーブの枝を投げていることもわかりました。これまでのところ、オープンソースを実行すると実際にメリットが得られることを理解しました。オープンソースを行うことは私個人にとって非常に有益であると考えており、これが私が粘り強く続ける原動力でもあります。

新しい旅を体験:0から1、小さな一歩から大きな一歩へ

このパートでは、オープンソースに参加することで私が得たことについてお話したいと思います。

a. まず、自分の能力が大幅に向上したので、社内の一部の内容を担当するだけではなく、もっとやれることが増えました。オープンソースプロジェクトの開発や推進の過程では、コードを書く能力だけでなく、製品ドキュメントを書いたり、製品を操作したりする能力も求められますが、企業の技術開発者はこれをあまり重視していないことが多いです。 。しかし、それは個人的な向上には最適です。

b. 多くの技術的な友人を知り、同じ業界の企業の状況を理解することは、自分の会社に限定されず、視野を広げることができます。

c. 他の企業が独自のオープンソース プロジェクトを使用しており、同時に技術的な影響力も大幅に向上していることを発見して非常に嬉しく思います。このように、その後の就職活動においても、技術系KOLにとっても非常に大きな恩恵となります。

オープンソース実践者の実践: 個人オープンソースでの「格闘技チート」

この部分は、私の個人的なオープンソースへの提案の一部とみなすことができます。多かれ少なかれ、皆さんに考えをもたらすきっかけになれば幸いです。

振り返ってみると、最初から dataCompare のオープンソース化の準備を進めてきて、今では一部のユーザーの注目を集めることができ、1 ~ 2 人の企業ユーザーがそれを使用して試していることもあり、とてもうれしく思います。

今全体のプロセスを振り返ってみると、ユーザーの問題を 1 ~ 2 つ解決して磨き上げること、そして適切な運用と長期的な永続性、この 3 つのポイントが個人のオープンソース プロジェクト開発の鍵となります。

私が最初に dataCompare を立ち上げたとき、同じようなニーズが仕事であったため、自分の仕事を支援し、作業効率を向上させるためのシンプルなバージョンを開発してみようと思いました。dataCompare 1.0 バージョンとも理解できます。インターフェイス バージョンはありません。 。そこで、他の企業にも同様のニーズがあるのではないかと考え始めたので、インターネット上のいくつかのオープンソース プラットフォームを使用してインターフェイスを作成し、それをオープンソース化しようとしました。つまり、dataCompare 2.0 バージョンです。

バージョン 1.0 からバージョン 2.0 までは、コードが完璧ではないか、オープンソースにした場合に問題はないか、他の人がこのプロジェクトに興味を持っているかなどを心配していたので、全体で 1 か月近くかかりました。当時も非常に絡み合っていました。その後、やってみようという姿勢でオープンソースとして公開され、同時に紹介記事も書かれ、小さな波としてユーザーの注目を集めました。しかし、実際のユーザーはまだおらず、その後仕事が忙しくなり、運営やプロモーションを続ける時間があまり取れなくなり、インターネットでこの記事を見つけたのは 3 ~ 4 か月近く経ってからでした(https:// mp .weixin.qq.com/s/3KQdp1smgqwHfLGy1ASK_A ) が私を追加し、この製品を試してみたいと考えました。今のところ、この製品には需要があると感じています。次に、ユーザーにインストールとデプロイをガイドし、最後にユーザーのニーズに基づいていくつかの調整を加え、最終的に全体として最初のエンタープライズ レベルのユーザーを獲得します。バージョン 1.0 の開発からこれまで約 7 ~ 8 か月かかりました。最後に企業ユーザーもいます。上記のユーザーの注意とフィードバックを通じて、私は自分自身を追い続けることができ、それを続けるモチベーションを得ることができます。

 ここでプロセス全体を思い出してください。オープンソースプロジェクト開発のポイントは以下の3点です。

a. ユーザーの 1 ~ 2 つの問題を解決し、磨き上げることができますが、仕事のニーズをいくつか組み合わせて抽象的に開発し、コア機能を改善し、コア機能を磨き上げるのが最善です。

b. 適切なプロモーションと運営、「ワインの匂いは路地の奥でも怖い」、適切なプロモーションと運営、プロジェクトが最初のユーザーのバッチを見つけて、ユーザーと一緒に構築しようとします。オープンソース コミュニティに参加したり、友人に勧められたりすることで、プロジェクトは徐々に注目を集め、コア機能が磨き上げられ、最初のユーザーを獲得できるようになり、プロジェクトの発展に好循環を築くことができます。

c. プロモーションや運営を通じて長期的な投資と継続を行うことで、一部のユーザーの注目とフィードバックが得られ、継続の動機も高まります。

オープンソース プロジェクトのアドレス:

https://github.com/zhugezifang/dataCompare

https://github.com/zhugezifang/dataService

著者について: Zhuge Zifang は京東省と BAT で連続勤務し、ビッグデータの分野で長年の実務経験を持っています。Apache Griffin および Apache Zeppelin の寄稿者、dataCompare および dataService の著者、WeChat: zhugezifang001

おすすめ

転載: blog.csdn.net/weixin_43291055/article/details/130992680