趣味のプロジェクトをリリースすることへの恐怖-克服する方法?[閉まっている]


37

この質問がソフトウェア開発に厳密に関連しているかどうかはわかりませんが、試してみます。

多くのプログラマーのように、私は趣味のプロジェクトに取り組むことが大好きです。時々、一見良いアイデアがあまり良くないことが判明したので、私はプロジェクトをやめました。しかし、時には、プロジェクトから役に立つものが出てきます。それで、私はそれをリリースし、世界に提示することができますよね?

違う。どういうわけか、私はこの一歩を踏み出すことができないようです。私は自分のコードが十分ではないことを恐れており、常に最適ではないもの、追加できる機能について考えることができます。だから、私は何もリリースせず、興味を失い、ある時点でプロジェクトを放棄します。

これは正常ですか?このような状況をどのように克服しますか?


11
まあ、それはあなたにとって十分であり、「彼ら」はそれを無料で手に入れます。
ヨアヒムザウアー

42
「私のコードが十分ではないのではないかと恐れています」-昨日やったことを振り返り、満足しているなら、あなたは改善していません。
ロジャーリップスコム

9
それが機能し、スパゲッティの完全な混乱ではない場合、それをリリースします。私の経験では、すべてのコードが批判され、それに慣れます。Microsoftは、Linuxに組み込むための大量のコードをリリースしました。私はそれが整頓されるために送り返され、半分の行で終わったことを覚えているようです。。私は毎日私のコードを見て、考えて、「ああ、神様は、私はそれを書いたDohの?!
ジェイディー

4
人々が強打しなければ、決して良くなることはありません。頑張れ!
スコットCウィルソン

4
あなたが望む!コードをリリースしたことに気づいた人がいたら幸運だと思うべきです:)
Benjol

回答:


51

まず、覚えておいてください:出荷は機能です。何もリリースしないよりも、不完全なものをリリースする方がベターです。

他に注意することは、これらが趣味のプロジェクトであることです。締め切りに間に合わなかったり、興味を失ったりしても大したことではありません。結局、あなたはプロジェクトを楽しみのためにやっています。


23

そこに出して。

GitHubBitbucketなどのソーシャルコーディングサイトでこれを行うことはそれほど難しくありません。あなたが出すもののほとんどはおそらくあまり使われないでしょうが、それは大丈夫です。これらのソーシャルコーディングサイトでは、これはかなり普通のことであり、多くのプロジェクトが放棄されます(いくつかの有用なプロジェクトも)。しかし、最大のことは、他の人があなたが残したものを選ぶことができるということです(許可されたライセンスを持っている場合)。

あなたのものはおそらく他の誰かによって使用されないでしょうが、それでもあなたがそれを出すべきである理由のいくつかの利点があります:

  • 多くのプログラマーが方法を知らないバージョン管理を使用することを学びます。
  • 人々はあなたのために問題を指摘するかもしれません。あなたが物事の異なる方法を学ぶためのすべての機会
  • あなたがしたことのオンラインポートフォリオがあり、履歴書を補完するのに最適です

3
「人々があなたのために問題を指摘するかもしれない」ための+1- それはオープンソースとしてコードを提供することから得られる1つの大きな利点です。
アンドリュートンプソン

14

すでにバグのないオープンソースプロジェクトに貢献者を引き込むことは、多くの簡単なバグを解決するものよりもおそらく難しいでしょう。これらのバグは、初期ユーザーがコードに慣れるインセンティブになるからです。

Linusが最初にLinuxカーネルを導入したとき、それは完全で、安定した、バグのない、きれいなコードではありませんでした。それは不完全で、くだらない、持ち運びができず、フィンランドのキーボード用に配線されていました


3
この視点が大好きです。
TehShrike

Linuxの例では+1。
カルマリオス

6

基本的に、人々が私のコードを好きかどうかは気にしません。無料のライセンスでリリースします。人々にとって便利なものですが、バグや次善のソリューションを見つけて、より多くの機能が必要な場合は、自分で自由に修正できます。GPLまたはLGPLを使用すると、これらの修正を見つけることも可能になります。それらが有用/適切であるとわかった場合は、自分で適用できます。


5

申し訳ありませんが、あなたはあなたがすべきことの正反対をやっています!

できるだけ早くそれをリリースし、人々のフィードバックを聞いてから、それに基づいて新しい機能を実装します。その逆ではありません!


これは、ユーザビリティを最適化しようとしている場合にのみ当てはまります。OPは明らかに通りの信用を最大化すること、または少なくとも恥ずかしさを最小化しようとしています。
カレブ

2
@カレブ:それは常に真実です。目標は常に製品を出荷することであり、コードを書くことは決してありません!
トーマスボニーニ

バージョン管理を使用すると、コードで改善を確認できます。見て誰かが不正なコードで出始めたが、彼らは学ぶことができる)の例のショーを見て罰金、b)は、彼らは古いコードを向上させる代わりに、それを無視して喜んでいるにそれをシェイプアップすることができました
AREN

4

あなたは何を失う必要がありますか?

本当に良いか、新しいニッチを埋めない限り、おそらく気付かれることはおそらくないでしょう。

そして、もしあなたが否定的なフィードバックを受け取ったら-それは学ぶチャンスです。それを無駄にしないでください。


「とにかく気付かないでしょう」。残念ながら、非常に真実です。
user16764

3

ソフトウェア以外のドメインでも同様に完全に正常です。いくつかの異なる環境でビルドされていることを確認し、READMEを作成して、github / codeplex / etcに投げます。これを初めて経験することが、不安を克服する唯一の方法です。

2回目、3回目、n回目が楽しみの場所です!


1

未完成のソフトウェアをリリースする理由の1つは、コミュニティの構築を開始することです。プロジェクトを有用なオープンソースツールにしたい場合は、他の開発者が必要です。それらを引き付ける1つの方法は、それを早期にリリースし、その後(公に)改善を続けることです。これらの機能を秘密に追加しないでください-公に、Githubページで、またはどこにでも追加してください。それは履歴にアクティビティを生成します。

他の開発者は、見捨てられたと思われるプロジェクトに取り組みたくありません。そのため、開発作業を公に行うことは、積極的で継続的な関心を示しています。いくつかの機能を意図的にスリーブに保持して、公開することができます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.