2 points par GN⁺ 2024-08-21 | 1 commentaires | Partager sur WhatsApp
  • Au milieu de l’année 2019, pendant une recherche d’emploi, il fallait choisir entre Google Goteam et Sourcegraph
  • La raison du choix de Sourcegraph était sa culture qui permettait de tout construire en public
  • Toute la documentation était publique par défaut, et les RFC techniques et produit, les PR/FAQ, etc. étaient stockés dans des dossiers Google Drive publics
  • Toute l’implémentation produit se faisait dans des dépôts GitHub publics
  • Le dépôt sourcegraph/sourcegraph est désormais devenu privé
  • C’était une décision qui a détruit la culture attractive de Sourcegraph
  • Sourcegraph a laissé un snapshot public appelé sourcegraph/sourcegraph-public-snapshot

Préserver les références

  • Pendant le travail chez Sourcegraph, de nombreux articles ont été écrits sur le blog d’ingénierie
  • Beaucoup de ces articles utilisaient comme références des liens vers le code public associé
  • Désormais, tous ces liens sont cassés
  • Il existe un dicton : « Les URI sympas ne changent pas »
  • Des efforts sont en cours pour préserver autant d’informations que possible afin d’éviter que les liens ne cassent soudainement
  • sourcegraph/sourcegraph a été forké vers efritz/sourcegraph
  • Un fork n’hérite pas des pull requests, et les commits qui ne sont pas directement référencés par des branches ne sont pas visibles
  • D’après la documentation GitHub, même si un dépôt public devient privé, les forks continuent d’exister
  • Cependant, lorsque le dépôt d’origine devient privé, les commits autres que ceux de la branche main peuvent disparaître

Récupération des commits liés

  • Un programme Go a été exécuté pour retrouver tous les commits
  • Ce programme a généré 2 645 fichiers de métadonnées de pull requests
  • jq a été utilisé pour lire les payloads JSON et extraire les données
  • Les fichiers pr_ids.txt, commits.txt, replace_pairs.txt ont été générés
  • Un second programme a été exécuté pour lister les commits non fusionnés de chaque pull request
  • Ce programme a ajouté des commits au fichier commits.txt

Importer les commits dans un nouveau réseau de dépôts

  • Les commits ont été importés dans le fork en créant une branche contenant chaque SHA concerné
  • Un script Bash a été utilisé pour exécuter les opérations git séquentiellement

Réécriture des références

  • Il est désormais possible de lier chaque référence vers une cible dans le fork
  • Un processus automatisé a été mis en place avec xargs
  • Les références directes à des commits ont été réécrites vers le fork, et les références aux pull requests ont été réécrites vers les commits de fusion

Résumé de GN⁺

  • Le passage de Sourcegraph en privé a eu un impact majeur sur la culture open source
  • De nombreux liens de référence dans le blog d’ingénierie ont été cassés, et leur préservation a demandé beaucoup d’efforts
  • Les références ont été réécrites et les commits préservés à l’aide de forks GitHub et de scripts
  • Cet article souligne la durabilité des projets open source et l’importance des liens de référence

1 commentaires

 
GN⁺ 2024-08-21
Avis sur Hacker News
  • Avis du CEO de Sourcegraph :

    • La raison du passage de la base de code interne en privé est de mieux se concentrer
    • Rester open source et public entraîne beaucoup de travail supplémentaire et des risques
    • Il faut se concentrer sur la création d’un excellent produit de recherche/intelligence du code pour les clients
    • L’entreprise fait encore beaucoup pour les développeurs et la communauté OSS
      • Fourniture d’un service public populaire de recherche de code
      • Maintenance de nombreux codes open source
    • Si d’autres fondateurs hésitent à rendre leur code public ou non, il est disponible pour en discuter
  • Avis d’un autre utilisateur :

    • Sourcegraph était perçue comme une entreprise qui comprenait bien la culture des développeurs, mais les changements récents sont regrettables
    • Il a essayé de trouver la feuille de route publique, mais la plupart des documents sont passés en privé
    • Le handbook auparavant public a été déplacé vers Notion, et la plupart des parties importantes renvoient vers des documents Google privés
  • Avis d’un autre utilisateur :

    • L’index de recherche public de Sourcegraph a récemment disparu
    • Il utilisait beaucoup Sourcegraph avant l’amélioration de la recherche sur GitHub
    • Désormais, les dépôts GitLab et de nombreux dépôts GitHub ont disparu de l’index
    • À cause d’une fonction de recherche peu fiable, il n’a d’autre choix que de revenir à GitHub
  • Avis d’un autre utilisateur :

    • Il a forké la version open source, supprimé la télémétrie, désactivé les mises à jour, retiré le code propriétaire, créé des images Docker et mis en place une authentification Oauth2 légère
    • Il prévoit depuis longtemps de l’exécuter derrière Oauth2-Proxy
    • C’est un logiciel très fiable
  • Avis d’un autre utilisateur :

    • Il utilisait beaucoup Sourcegraph pour le reverse engineering sur macOS
    • De nombreux projets existent grâce à la recherche Sourcegraph
    • Il espère que la fonction de recherche ne disparaîtra pas à l’avenir
  • Avis d’un autre utilisateur :

    • Rendre tout le travail de développement privé est étrange et déconcertant
    • Il se demande pourquoi l’entreprise est passée au privé alors que de simples restrictions de licence auraient probablement suffi à atteindre ses objectifs commerciaux
  • Avis d’un autre utilisateur :

    • Il a beaucoup utilisé Sourcegraph, mais se demande combien de personnes ont réellement payé
    • Faire tourner une entreprise open source est difficile
    • Il comprend qu’à mesure qu’une entreprise mûrit, certaines choses ne peuvent plus être offertes gratuitement
  • Avis d’un autre utilisateur :

    • Le projet Software Heritage a archivé la plupart des dépôts Sourcegraph
    • Le dernier crawl date de la mi-juillet 2024
  • Avis d’un autre utilisateur :

    • Il mentionne un épisode précédent où Sourcegraph n’était déjà plus open source
  • Avis d’un autre utilisateur :

    • Il a souvent cité et recommandé Sourcegraph, mais n’a jamais réellement payé
    • Il se demande pourquoi l’entreprise a abandonné l’open source, mais cela ne le surprend pas