# Açık Kaynak ile Hedeflerinizi Gerçekleştirin

En hırslı yazılım geliştirme hayallerinizi gerçekleştiren iş yerinde yazılım geliştirmiyor olma ihtimaliniz oldukça yüksek. Belki de Google, Apple, Microsoft'ta veya bir sonraki büyük şeyi geliştirmek için kendi girişiminizde çalışmayı tercih ederken büyük bir sigorta şirketi için yazılım geliştiriyorsunuzdur. Önemsemediğiniz sistemler için yazılım geliştirdikçe istediğiniz yere asla varamayacaksınız.

Neyse ki sorununuzun bir cevabı var: açık kaynak. Dışarıda, birçoğu oldukça aktif olan ve size isteyebileceğiniz her türlü yazılım geliştirme deneyimini sunan binlerce açık kaynak projesi var. İşletim sistemleri geliştirme fikrini seviyorsanız, bir düzine işletim sistemi projesinden birine yardım edin. Müzik yazılımı, animasyon yazılımı, kriptografi, robotik, PC oyunları, devasa çevrimiçi oyuncu oyunları, cep telefonları veya herhangi bir şey üzerinde çalışmak istiyorsanız, neredeyse kesinlikle bu ilgi alanına adanmış en az bir açık kaynaklı proje bulacaksınız.

Tabii ki bedava öğle yemeği yok. Günlük işinizde muhtemelen açık kaynaklı bir video oyunu üzerinde çalışamayacağınız için boş zamanınızdan vazgeçmeye istekli olmalısınız, yine de işvereninize karşı bir sorumluluğunuz var. Ek olarak, çok az insan açık kaynak projelerine katkıda bulunarak para kazanıyor, bazıları yapıyor ama çoğu yapmıyor. Boş zamanınızın bir kısmından vazgeçmeye istekli olmalısınız (daha az video oyunları oynamak ve TV izlemek sizi öldürmez). Açık kaynaklı bir proje üzerinde ne kadar çok çalışırsanız, bir programcı olarak gerçek hedeflerinizi o kadar hızlı gerçekleştirirsiniz. Çalışan sözleşmenizi dikkate almak da önemlidir - bazı işverenler, kendi zamanınızda bile katkıda bulunabileceğiniz şeyleri kısıtlayabilir. Ayrıca, telif hakkı, patentler, ticari markalar ve ticari sırlarla ilgili fikri mülkiyet yasalarını ihlal etme konusunda dikkatli olmanız gerekir.

Açık kaynak, motive olmuş programcılar için muazzam fırsatlar sunar. İlk olarak, bir başkasının sizi ilgilendiren bir çözümü nasıl uygulayacağını görürsünüz, diğer insanların kaynak kodunu okuyarak çok şey öğrenebilirsiniz. İkinci olarak, projeye kendi kodunuz ve fikirlerinizle katkıda bulunacaksınız, sahip olduğunuz her parlak fikir kabul edilmeyecek, ancak bazıları olabilir ve sadece çözümler üzerinde çalışarak ve koda katkıda bulunarak yeni bir şeyler öğreneceksiniz. Üçüncüsü, sahip olduğunuz yazılım türü için aynı tutkuya sahip harika insanlarla tanışacaksınız, bu açık kaynaklı arkadaşlıklar bir ömür boyu sürebilir. Dördüncüsü, yetkin bir katkıda bulunduğunuzu varsayarsak, sizi gerçekten ilgilendiren teknolojiye gerçek dünya deneyimini ekleyebileceksiniz.

Açık kaynak kullanmaya başlamak oldukça kolaydır. İhtiyaç duyacağınız araçlarla ilgili (örneğin, kaynak kodu yönetimi, editörler, programlama dilleri, yapı sistemleri vb.) çok sayıda belge bulunmaktadır. Önce üzerinde çalışmak istediğiniz projeyi bulun ve projenin kullandığı araçlar hakkında bilgi edinin. Projelerle ilgili belgeler çoğu durumda hafif olacaktır, ancak bu belki daha az önemlidir çünkü öğrenmenin en iyi yolu kodu kendiniz araştırmaktır. Katılmak istiyorsanız, belgelere yardım etmeyi teklif edebilirsiniz. Veya test kodu yazmaya gönüllü olarak başlayabilirsiniz. Bu kulağa heyecan verici gelmese de, gerçek şu ki, diğer insanların yazılımı için test kodu yazarak, yazılımdaki hemen hemen tüm diğer etkinliklerden çok daha hızlı öğrenirsiniz. Test kodu yazın, gerçekten iyi test kodu. Hataları bulun, düzeltmeler önerin, arkadaşlar edinin, sevdiğiniz yazılımlar üzerinde çalışın ve yazılım geliştirme hedeflerinizi gerçekleştirin.

[Richard Monson-Haefel](http://programmer.97things.oreilly.com/wiki/index.php/Richard_Monson-Haefel) Tarafından


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://97-things-every-x-should-know.gitbook.io/97-things-every-programmer-should-know/tr/thing_34.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
