O SourceForge é uma ferramenta que se dedica a auxiliar o desenvolvimento de projetos de software livre e open source. Ele atua como um sistema de gerenciamento de repositórios de códigos-fonte e permite o desenvolvimento colaborativo. Foi o primeiro sistema de gerenciamento a fornecer esse tipo de serviço à projetos abertos. O SourceForge foi desenvolvido pela GeekNet e seu lançamento foi realizado em novembro de 1999.

Atualmente o SourceForge hospeda mais de 430 mil projetos, conecta mais de 40 milhões de usuários e serve mais de 4 milhões de downloads por dia. O SourceForge.net é mantido pela Slashdot Media.

Visão Geral editar

O SourceForge fornece inúmeras ferramentas que podem ser usadas no desenvolvimento do seu projeto open source. Aqui está uma lista de algumas das principais:

  • Repositório de Códigos-fonte - O SourceForge permite que você mantenha o seu projeto versionado pelo git em um repositório remoto. O SourceForge realiza a comunicação com o git através do protocolo SSH ou https, posteriormente será exemplificado nesta wiki um modo de proporcionar essa comunicação.
  • Espaço de Arquivos - Este espaço é destinado ao armazenamento de materiais relacionados ao projeto que não devem estar sobre controle de versão e não são adequados para a wiki, por exemplo, arquivos executáveis.
  • Páginas Web - É possível que você configure um conjunto de páginas web para descrever o seu projeto, e o SourceForge as hospeda para você.
  • Wiki - O SourceForge fornece uma wiki que lhe permite escrever documentos à respeito do seu projeto.
  • Fóruns - O SourceForge disponibiliza fóruns que permitem que diversos usuários interajam entre si e discutam sobre um determinado projeto.

Criando um Projeto editar

O SourceForge estabelece duas condições para hostear seu projeto:

  1. O software deve ser open source.
  2. A licença de software deve ser compatível com a definição de open source da OSI ou ser certificada como uma licença aprovada pela OSI.

Antes que os projetos possam ser criados, é necessário realizar seu cadastro no site do SourceForge. O cadastro no site é bem intuitivo, onde basicamente se faz necessário apertar um botão no canto superior direito 'Join' e a partir disso basta o usuário inserir seus dados pessoais e realizar a confirmação no email que será enviado à você.

Com o usuário devidamente cadastrado e logado, esse já pode criar e gerenciar projetos. Para isso segue um pequeno tutorial de como deve ser feito:

  1. Clicar no link "Create" da página inicial
    1. Clicar no link "Create Your Project Now"
    1. Escolher um nome para o projeto assim como uma URL para facilitar o acesso ao mesmo
    1. Selecione os recursos que pretende utilizar no seu projeto como wiki, fóruns, git, etc. Caso o projeto já esteja em andamento, é possível configurá-lo para que ele deixe de usar alguma ferramenta, ou passe a usar outras
    1. Leia e caso esteja de acordo, clique na checkbox que indica que você concorda com os termos de uso
    1. Clique em 'Create'
  • Integração entre Git e SourceForge editar

    É muito simples integrar o SourceForge e o git, principalmente se você já tiver tido algum tipo de experiência com outros sistemas de gerenciamento de repositórios (Github, Gitlab, etc), caso não tenha tido, aqui vai uma rápida explicação. Um sistema de controle de versão permite que você registre diferentes versões de um projeto e recupere antigas versões, crie linhas de desenvolvimento independentes, trabalhe com várias pessoas sobre o mesmo conjunto de documentos, entre outras funcionalidades. O git é o sistema de controle de versão mais utilizado na atualidade, para maiores informações, visite sua wiki aqui. O git basicamente realiza o controle de versão do seu projeto localmente, o que o SourceForge oferece é a possibilidade de armazenar seu projeto versionado em um repositório remoto. Segue um tutorial explicando como isso é possível:

    1. Entre no projeto e clique no ícone 'Admin' na barra de navegação

    2. Clique em 'Tools'

    3. Selecione um nome para o label do projeto (este nome será o título no link da navegação do projeto)

    4. Selecione um mountpoint (o mountpoint é por padrão 'code')

    É possível repetir este processo para criar múltiplos repositórios. É possível também configurar as permissões concedidas à usuários, mas este tema está fora do escopo desta wiki. Segue um exemplo na prática:

    1. Crie o diretório do projeto

    $ mkdir myfirstprojectever
    
    $ cd myfirstprojectever
    

    2. Inicie o git (este comando permitirá que o git realize o controle de versão do seu projeto)

    $ git init
    

    3. Configure seu nome de usuário e email conforme o respectivo nome no SourceForge.net para que seus commits sejam identificados corretamente.

    $ git config user.name "pedrodelyra"
    
    $ git config user.email "pedrodelyra@users.sourceforge.net"
    

    4. Para que você realize o upload do seu projeto para o SourceForge, é necessário que você adicione o repositório remoto

    $ git remote add origin https://pedrodelyra@git.code.sf.net/p/myfirstprojectever/code
    

    Obs: repare que o endereço do repositório segue o seguinte padrão: https://USERNAME@git.code.sf.net/p/PROJECTNAME/MOUNTPOINT. Sendo que o USERNAME e PROJECTNAME devem ser substituídos respectivamente pelo seu nome de usuário e pelo nome do seu projeto do SourceForge e o MOUNTPOINT é definido por padrão como 'code' durante a configuração do git no seu projeto no SourceForge, conforme descrito anteriormente.

    Tendo seguido estes 4 passos, é possível utilizar o git normalmente, gerenciar os documentos do seu projeto e realizar seu upload quando desejar para que sejam armazenados no repositório remoto do SourceForge.

    Para clonar um repositório existente, utilize o comando a seguir:

    $ git clone https://USERNAME@git.code.sf.net/p/PROJECTNAME/MOUNTPOINT
    

    No meu exemplo, este comando seria:

    $ git clone https://pedrodelyra@git.code.sf.net/p/myfirstprojectever/code
    

    Importação de um projeto do SourceForge para o GitHub editar

    O primeiro passo é seguir as instruções do Github de importação de respositórios Subversion. Não há muitas complicações, pois isso se faz via Github e basicamente apenas haverá de se criar um novo repositório para receber os dados vindouro.

    É recomendável usar o svn2git para uma melhor comunicação entre plataformas, para tal use:

    svn2git svn://svn.code.sf.net/p/nomedoprojeto/code/
    

    Agora basta dar um push no repositório do GitHub

    git remote add origin https://github.com/user/nomedoprojeto.git
    
    git push -u origin master
    

    (os campos nomedoprojeto e user são variáveis).

    Agora, precisa-se baixar o projeto no site SourceForge, para isso basta inserir

    sftp user,nomedoprojeto@frs.sf.net
    

    Agora se busca o arquivo de lançamento, para tal necessita-se do diretório correto, sendo que o mesmo não aparece quando se digita ls no terminal para checar os diretórios e arquivos.

    yafc ftp://user@frs.sf.net
     # then, in the sftp session:
     cd /home/frs/project/nomedoprojeto
     get -p -r nomedoprojeto
    

    Nessa ultima etapa, os arquivos sf.net estão sendo fechados de modo que haja uma revisão, evitando assim futuros problemas de bugs. O site original será substituído por

    <html>
    <head>
    <meta http-equiv="refresh" content="0; url=http://user.hm/nomedoprojeto">
    </head>
    </html>
    

    A migração esta concluída!

    Referências editar