O que eu acho mais legal em desenvolver O Eclipse é que se a extensão que você idealizar e implementar for algo que você acha que pode ser útil para várias pessoas você tem a possibilidade de contribuir esta funcionalidade de volta para o Eclipse.
O Eclipse é um projeto de código-aberto, com uma comunidade extremamente ativa. Para contribuir sua funcionalidade para o Eclipse funciona mais ou menos como em qualquer projeto de código-aberto: é necessário um certo grau de envolvimento com a comunidade de uma forma geral, por exemplo, através da participação em listas de discussão ou fóruns; é necessário que o que você deseje contribuir seja algo que a comunidade gostaria de adicionar ao projeto; e o seu código deve ser totalmente original e isento de qualquer impedimento jurídico, por exemplo, se tiver sido distribuído pelo resultado do seu trabalho para uma empresa, é necessário que a empresa libere o código para ser contribuído. Cumpridas estas premissas básicas, é só contribuir o código!
Agora, se você está achando que este processo pode ser burocrático e demorado eu lhes digo o seguinte: eu também pensava assim. Até que após trabalhar dois anos desenvovendo plug-ins para Eclipse a minha equipe e eu conseguimos ultrapassar todas as barreiras (internas e externas, sendo que as externas às vezes são as mais fáceis) e contribuimos todo o nosso produto de volta para o Eclipse. Hoje as mais de 45.000 linhas de código do Cell IDE, um conjunto de plug-ins que facilita a programação em C/C++ para processadores Cell é parte do PTP (Parallel Tools Platform), um sub-projeto do Eclipse que adiciona à plataforma básica funcionalidades específicas para facilitar a programação em C/C++ para clusters.
Bom, é claro que este lado legal de desenvolver O Eclipse pode ser vivenciado ao se contribuir para qualquer projeto open source (do kernel do Linux ao ‘cp’, comando de cópia de arquivos em ambientes UNIX-like). O que você ganha com isso? Bom, além de reconhecimento da comunidade, você certamente ganhará experiência na leitura e entedimento de código-fonte, no desenvolvimento de projetos e na comunicação com equipes de desenvolvimento (nem sempre tão) grandes e dispersas por várias partes do planeta.