Accelerate by years part II - Self-contained inlang files
This is part 2 of a 4-part series of memos that propose steps to accelerate lix and inlang by multiple years.
Proposal
Make the inlang file self-contained, i.e. zipped files that have no dependency on or interaction with external git repositories.
Zipping inlang repositories goes further than “inlang directories as self-contained repositories” https://github.com/orgs/opral/discussions/2975 by avoiding any dependency on a parent git repository via syncing history or branches, for example. No submodules, no subtree, no whatever. An inlang file is just a binary file. A necessary step to scale down requirements (see Jan’s comments).
Entailed outcomes:
We can start building differentiable lix features like semantic merging, auth, and more within 9 months because we don’t have to think about git anymore.
The path for monetization and third-party lix apps is unlocked within 9 months (the major concern of investors) because writing inlang apps does not depend on external git repositories, and the hosting platform is on the horizon.
Why:
(Roadmap) Depending on external git repos puts us in a deadlock of being compatible with a parent git repo because “it is better DX” at the cost of satisfying and growing among every other user group. Git is irrelevant to every other user group. To satisfy and grow among other user groups, we have to build differentiable lix features like semantic merging, automation pipelines, and change proposals that are not git compatible.
(Growth) Inlang as an ecosystem will grow faster if we open growth for translators and designers.
(Signalling) Nothing of lix is visible in inlang apps because of git compatibility. Fink feels like a GitHub app. Parrot can’t collaborate with Fink or Sherlock, and Paraglide just compiles a settings.json file with some en.json and de.json files. Nothing we aspire to build is visible because we haven’t started building the differentiating features of lix and battled git compatibility instead.
What inlang/lix will be capable of within 9 months
Watch the loom https://www.loom.com/share/8f2b6772e70b4c6a868910dab1a8c351
Collaboration between developers, designers, translators
Change history in inlang apps
CI/CD in inlang apps
Semantic plugin API in lix
Next steps
Investigate if we can make zipped inlang files, aka binary files, to drop the compatibility requirement with git. See this loom https://www.loom.com/share/cfa8ac9605a4421eb885022e69ffd203.