Clones da org OpenSoftwareAlliance: hard forks branded "OSA ", mantidos em sync com o upstream, para formar uma alternativa aberta ao Google Workspace.
| Repo | Produto | Concorre com | Upstream |
|---|---|---|---|
pad |
OSA Pad | Google Docs | Etherpad |
sheet |
OSA Sheet | Google Sheets | Luckysheet |
cal |
OSA Cal | Google Calendar (appointment schedules) | Cal.diy |
mail |
OSA Mail | Gmail | Forward Email |
meet |
OSA Meet | Google Meet | Briefing |
draw |
OSA Draw | Google Drawings / Jamboard | tldraw |
drop |
OSA Drop | Quick Share | Snapdrop |
share |
OSA Share | Google Drive (file links) | Uguu |
share-admin |
OSA Share Admin | Google Drive admin | Moe Panel |
bin |
OSA Bin | Google Keep (secure notes) | PrivateBin |
snip |
OSA Snip | Google Keep (snippets) | Drift |
short |
OSA Short | goo.gl | Kutt |
alias |
OSA Alias | Google Domains forwarding | redirect.name |
page |
OSA Page | Google Sites | Singlelink |
feedback |
OSA Feedback | Google Forms (product feedback) | LogChimp |
jam |
OSA Jam | Google Meet (audio) | Jam |
micro |
OSA Micro | Google Cloud APIs | M3O |
username |
OSA Username | - | Instant Username Search |
status |
OSA Status | — | Upptime |
repos.tsv: manifesto (produto, alternativa, upstream, licença).readme.py [repo...]: gera o README padronizado OSA (modelo único: features, stack, roadmap, suíte, licença). Rodar de novo depois de cada sync que mexer no README.issues.tsv: URLs das issues de pesquisa (landscape e migração) de cada repo.apply-header.sh: obsoleto (modelo antigo de cabeçalho + README do upstream).sync.sh <dir> <upstream_url> <branch>: fast-forward ou merge assinado com o upstream. Não faz push; em conflito, para.
Para os forks sem divergência, gh repo sync OpenSoftwareAlliance/<repo> resolve direto no GitHub.
Este repo é a raiz da área de trabalho: clone-o e depois os repos da org dentro dele.
gh repo clone OpenSoftwareAlliance/osa-tooling ~/Dev/4-projetos/g-open-software-alliance
cd ~/Dev/4-projetos/g-open-software-alliance
for r in $(cut -f1 .osa/repos.tsv | grep -v '^#') status; do gh repo clone OpenSoftwareAlliance/$r $r -- --filter=blob:none; done
gh repo clone OpenSoftwareAlliance/vorssaint-utils vorssaint-utils # OSA Desktop (será renomeado para osa-desktop)
gh repo clone OpenSoftwareAlliance/boring.notch boring.notchOs diretórios clonados são ignorados (.gitignore); só .osa/ e este README são versionados.