IMaskjs-オープンソースで3年

画像



みなさんこんにちは!



imaskjsライブラリの作業を開始してから3年が経ちました。 オープンソースは無限のプロセスですが、全体として、作業は完了し、バグ修正が緩慢になっていると言えます。 現時点では、私はやりたいことをすべてやりました。おしっこテスト以外のアイデアはありませんが、怠lazです。



それは簡単な方法ではありませんでした。何度もすべてをあきらめたいと思っていましたし、何度もすべてがすでに完璧だと思っていました。 今ではすべてが落ち着き、穏やかな魂と明確な良心でそれがいかにあったかを思い出し、それが価値があるかどうかとその理由についての哲学をすることができます。



背景



すべては、仕事のために、さまざまなフォームのさまざまなフィールドをマスクするライブラリが必要だったという事実から始まりました。 マスクの形式は外部システムから提供され、検証はすでにバックエンドで行われていましたが、飽くなきテストには十分ではありませんでした。 マスキングの既存のソリューションであることが判明した人はほとんどいませんでした。 私たちは彼らと長い間戦い、分岐し、完成し、バグを見つけました。 その結果、私たちは理想的なものを達成できませんでしたが、誰もが私たちが持っているものに同意し、忘れていました。 しかし、それから私は、ここで何かが間違っているように見えました-実際、それは異なるはずです。 ほぼすべての一般的なライブラリのソースコードを改善するために非常に多くの場所を見たので、自分のソリューションを書いてみませんか? それが何から来たのかを見るのは非常に興味深いものでしたが、そのアイデアは非常識に見えました。 今、私は新しいビジネスへの恐怖が良い兆候であることを知っています。



自転車を書くかどうかについては、多くの議論があります。 私の場合、私も完全に確信していませんでした:半年前、会社で私の開発パスを始めたばかりで、後輩と見なされたとき、誰もそれを必要としないようです、そしてそれは時間の浪費です、周りの誰もそのようなことを書いていないかもしれませんより多くのお金を稼ぐために行く方が良い...はい、私は多くの時間を漏らしました、私は仕事でそれを感謝しませんでした、そして私はそれからお金を稼ぎませんでした。 しかし、間違いなく価値があったと確信しています。 これについて話したかった。



やる気



自分のプロジェクトは学校の素朴さと不注意を与えます。それは、あなたがプロセスに完全に夢中になったとき、手がかゆみ、目が焼け、他に何も存在しないという感覚です。 すごかった。 もちろん、私はそれを理解し、それを必要としない限り、ライブラリを常に行うことはできませんでした-むしろ、フィードバックを聞いて開発ベクトルを調整するために、リリース間のコミュニティに時間を与える必要があります。 しかし、私が開発に戻ってすぐに、その同じ感覚が再び戻ってきたので、興味は消えなくなり、やめる理由はありませんでした。 誰かがこの仕事でもっと幸運だったのかもしれませんが、私の仕事はすぐに決まりきった仕事に変わります。企業の世界は単調で退屈です。 そして、長く滞在すればするほど、より多くの経験とルーチンができます。 彼らのプロジェクトは保存され、燃え尽きないようにしています。 もちろん、これはオープンソースである必要はありませんが、注意を引いてフィードバックを得るのは簡単です。



人格と社会



コミュニケーションとフィードバックは、プロジェクトにとっても個人の成長にとっても非常に重要だと思います。 あなたは社会にいませんが、あなたが誰で何ができるかは明確ではありませんが、自分自身とあなたの業績を外部から評価することは困難です。 そしてこれなしでは成長するのは難しいです。 また、プロジェクトの価値を単独で評価することは困難です。 以前、私は社会の意見を気にしなかった、私は誰も必要としない、そしてこれは重要ではないと考えたかった。 私は心に座っていたでしょうが、幸いなことにgithubの名声と星に対する欲求はより強くなりました。 幸いなことに、問題はこれに限定されませんでした。 しかし、他の人の意見が始まったとき、それは多くのことを意味しました-誰かが欠陥を見つけたりバグを始めた場合、あなたは大騒ぎし、他の人が見えないようにそれをより速く修正しようとし始めます-5分後に新しいバージョンを展開します-その後、テストはありません。 また、記事を投稿すると、一般的に夜は眠れません。 たぶん私は少し誇張していますが、一般的には-プロジェクトのサーカス、私の頭の中のマッドハウス、そして各バージョンは大きなストレスです。 今、これはすべて笑顔を引き起こしますが、私は初めて、彼が何をするか気にしない多くの人がそれを通過しなければならないと思います。



他のビジネスと同様に、外的要因の影響は徐々に減少し、理解したいのですが、あなたは本当に貴重で有用な何かをしたか、6ヶ月で捨てられる別のキャンディーラッパーをしました。 あなたは徐々に人々との定期的な仕事に徐々に慣れており、すでに列に並んでいる全員からではなく、実際に主題にいてライブラリの機能を最大限に活用している人々からフィードバックを受け取りたいと思っています。 人の意見は重要ですが、これはほんの一瞬です。



一方、社会の意見を過大評価してはなりません。 あなたがそれを開始すると、すべてがあなたに反しているように見えます。 ありがたいこともよくやったこともありません。ただそうではなく、そうではありません。 私は素晴らしい仕事をしたと思った、私は自分の魂をそれに入れることができた、そして今誰もが賞賛するべきであるが、それに応じて批判だけ。 私にとってそれは痛い点でした、私はそのような態度に準備ができていなかったので、最初はコメントに対してかなり鋭く反応し、自分を守ろうとしました。 それから私は人々が普通の人であることに気づき始めました、私はそれらを縫う方法を理解していませんでした、私は何とか落ち込んで、謝罪さえしました。 しかし、経験がない場合は、最初に自分自身を守る必要があります。そうしないと、手が落ちて、すべてが終わらない可能性があります。



また、メンテナーの観点から、人の動機を区別する必要があります。 誰もが自分の意見を持ち、誰もが間違っています。 したがって、特に個人的な利益だけを追求して、毛布を自分自身の上に引っ張ろうとしている人には、ヒントをフィルタリングする必要があります。 一部の人々は、たとえば私の場合、すべてが異なる方法で行われるべきだと考えています:







問題は、私が個人として、プロジェクトに対する自分のビジョンを持っていることであり、これは完全に正常なことです。 図書館がパブリックドメインにあるという事実は、それが完全にすべての人に適しているということではなく、すべての人を喜ばせようとする必要があるという意味ではありません。 社会の影響下で、いくつかのプロジェクトが異なる方向に単純にばらばらになり、整合性を奪い、カオス、バグ、そして通常プロジェクトの遅い死に至る様子を観察できます。 それにもかかわらず、私にとっては、特に繰り返され始めた場合、私は社会のニーズを解決しようとします。 しかし、解決策は必ずしもライブラリ自体の変更ではなく、コード例、ドキュメントの一部、またはコード内のコメントなどです。 今、私は上記のような一般的な質問の例をドキュメントに追加することを考えています。 しかし、最初は、このような質問には不適切であり、どこか愚かであると考えて、かなり鋭く反応しました。 この動作の理由の1つは、自分の視点を自分で押し付けたかったからです。 私のライブラリが最高だからです!



最高になろう



これは必然的に競合を引き起こします。 時間が経ちましたが、今でも私のライブラリは美しいと思います。アイデアと実装は素晴らしいです! 言葉で説明しないでください!!! 1ただし、1つの注意点があります。それは、私にとっても、同様の状況にある人にとっても最高です。 すべてのための普遍的なライブラリはほとんどあり得ません。常にいくつかの特殊性と特別なケースがあります。 そして、さまざまなケースにこのようなさまざまな解決策があり、人は追い払われるだけでなく、彼に本当に合っているものを与えられることは素晴らしいことです。 残念なことに、通常、このすべての牧歌で忘れられるのはほんの一瞬だけです。品質は推奨されません。 私はいくつかのテストを書いたことを告白します。 ただし、特に設計段階では、味と生産エラーを厳密に区別する必要があります。 品質に妥協することはできません-これはあなたが完璧主義者の傾向を真に受け、そこから冷静になることができる場所です。 ええ、はい、1回、おそらく2回書き直さなければなりません。APIを壊す可能性があります。 しかし、賢明にアプローチすれば、一般に個人とプロジェクトの両方に役立つと思います。 何らかの形で、私が自分のためにした結論-「すべてに独自のニッチがあります」-はどこでも私を助けます。 私は確かに人生が楽になったと言うことができます。 人々と普通にコミュニケーションを始めると、多くの人々が本当に助けたいと思うことに気付き始め、この助けと関係を感謝し始めます。



関係



そして、人々は反応しています。 おそらく私にとって、それは最も価値がありました。 私は彼らの仕事に本当に興味を持っている人々に会い、連絡を取り合っています。 関係を築くことができる人はほとんどいません。 いずれにせよ、オープンソースはそのような機会を提供し、ゆっくりと何か素晴らしいものをかき立てるためにチームが形成されます。 そして、他に何がありますか? ヘッドストックだけでなく、別のCRUDまたはインターフェイスフォームをコピーするだけでなく、自分がしていることに本当に投資したい場合。



便益



痛いトピック。 私がここに書いたものを誰もが好むわけではないと感じますが、私はそれが好きではなく、お金ですべてを評価することに同意しないと言わなければなりません。 お金は良いのですが、そもそもそうではありません。 今日では、お金や名声などの外部の事柄に重点が置かれています。 彼らがお金を払うなら、それを得る方法に違いはないようです、それは良いことです。 これは、品質が失われ、美しいキャンディーラッパーが残るという事実につながりますが、意味は失われます。



最初は、彼らが今私のために犠牲にして生きると思っていましたが、優先順位は変わりました。 ちなみに、3年間の開発期間中、3,500ルーブル(ロシアルーブル、カール!)が与えられました。そのうち3,000は、私に感謝している一人の善良な人から与えられました。 あまりない。 しかし、私はプロジェクトの開発中に獲得した多くの価値を書きました。 私が言い忘れたもう一つのことは、大小さまざまな企業からの多くの仕事のオファーが私に落ちたことです。 仕事を見つけたり変更したい場合は、オープンソースはあなた自身について話すのに最適な方法です。 全体として、私はそれが有益だと思います。 自分にとって何が重要かを自分で決め、優先順位を設定するだけです。 これを別の仕事にしたくないので、これに集中しませんでした。 オープンソース、自由、イデオロギー、熱意、モチベーションなど、他のオープンソースが好きです。 私はおそらくそれを振るとお金で希釈しません。 たぶん私は料理の仕方がわかりませんが。 たぶんシトニクが教えるでしょう。



All Articles