[37m[39;49;00m
[37m# Qualcomm Open Sourced the Mojo Compiler. The Runtime You Actually Ship Didn't Come With It.[39;49;00m[37m[39;49;00m
[37m[39;49;00m
On[37m [39;49;00m[34m18[39;49;00m[37m [39;49;00mAugust[37m [39;49;00mModular[37m [39;49;00mpublished[37m [39;49;00mthe[37m [39;49;00mMojo[37m [39;49;00mcompiler[37m [39;49;00m[35mand[39;49;00m[37m [39;49;00mtoolchain[37m [39;49;00munder[37m [39;49;00mApache[37m [39;49;00m[34m2.0[39;49;00m[37m [39;49;00mwith[37m [39;49;00mLLVM[37m [39;49;00mexceptions,[37m [39;49;00ma[37m [39;49;00mweek[37m [39;49;00mafter[37m [39;49;00mthe[37m [39;49;00mlanguage[37m [39;49;00mhit[37m [39;49;00m[34m1.0[39;49;00m.[37m [39;49;00mFour[37m [39;49;00myears[37m [39;49;00mof[37m [39;49;00man[37m [39;49;00mopen[37m [39;49;00mcommunity[37m [39;49;00maround[37m [39;49;00ma[37m [39;49;00mclosed[37m [39;49;00mcompiler[37m [39;49;00mended[37m [39;49;00m[35min[39;49;00m[37m [39;49;00mone[37m [39;49;00mcommit.[37m[39;49;00m
[37m[39;49;00m
Two[37m [39;49;00mthings[37m [39;49;00mdid[37m [39;49;00m[35mnot[39;49;00m[37m [39;49;00mtravel[37m [39;49;00mwith[37m [39;49;00mit.[37m [39;49;00mThe[37m [39;49;00mREADME[37m [39;49;00msays[37m [39;49;00mthe[37m [39;49;00mproject[37m [39;49;00m[34mis[39;49;00m[37m [39;49;00m[35mnot[39;49;00m[37m [39;49;00maccepting[37m [39;49;00mcompiler[37m [39;49;00mcontributions[37m [39;49;00myet,[37m [39;49;00mwith[37m [39;49;00mend[37m [39;49;00mof[37m [39;49;00myear[37m [39;49;00m[34mas[39;49;00m[37m [39;49;00mthe[37m [39;49;00mtarget.[37m [39;49;00mAnd[37m [39;49;00mMAX,[37m [39;49;00mthe[37m [39;49;00minference[37m [39;49;00mengine[37m [39;49;00myou[37m [39;49;00mwould[37m [39;49;00mactually[37m [39;49;00mdeploy,[37m [39;49;00msits[37m [39;49;00m[35min[39;49;00m[37m [39;49;00mthe[37m [39;49;00msame[37m [39;49;00mrepository[37m [39;49;00munder[37m [39;49;00ma[37m [39;49;00mdifferent[37m [39;49;00mlicense.[37m[39;49;00m
[37m[39;49;00m
Read[37m [39;49;00mthe[37m [39;49;00mlicense[37m [39;49;00mper[37m [39;49;00mlayer,[37m [39;49;00m[35mnot[39;49;00m[37m [39;49;00mper[37m [39;49;00mrepository.[37m [39;49;00mThe[37m [39;49;00mcompiler[37m [39;49;00mgives[37m [39;49;00myou[37m [39;49;00mexit[37m [39;49;00mrights.[37m [39;49;00mThe[37m [39;49;00mruntime[37m [39;49;00mgives[37m [39;49;00myou[37m [39;49;00mterms.[37m[39;49;00m
[37m[39;49;00m
[37m## The split runs down the middle of one repo[39;49;00m[37m[39;49;00m
[37m[39;49;00m
[04m[91m[39;49;00mgithub.com/modular/modular[04m[91m[39;49;00m[37m [39;49;00mholds[37m [39;49;00mboth[37m [39;49;00mhalves.[37m [39;49;00mThe[37m [39;49;00mREADME[37m [39;49;00mstates[37m [39;49;00mthe[37m [39;49;00mrepository[37m [39;49;00m[34mis[39;49;00m[37m [39;49;00mlicensed[37m [39;49;00munder[37m [39;49;00mApache[37m [39;49;00m[34m2.0[39;49;00m[37m [39;49;00mwith[37m [39;49;00mLLVM[37m [39;49;00mexceptions,[37m [39;49;00mthen[37m [39;49;00mnotes[37m [39;49;00mseparately[37m [39;49;00mthat[37m [39;49;00mMAX[37m [39;49;00musage[37m [39;49;00m[35mand[39;49;00m[37m [39;49;00mdistribution[37m [39;49;00mare[37m [39;49;00mgoverned[37m [39;49;00mby[37m [39;49;00mthe[37m [39;49;00mModular[37m [39;49;00mCommunity[37m [39;49;00mLicense.[37m [39;49;00mOne[37m [39;49;00mclone,[37m [39;49;00mtwo[37m [39;49;00mgrants.[37m[39;49;00m
[37m[39;49;00m
The[37m [39;49;00mApache[37m [39;49;00mside[37m [39;49;00mcovers[37m [39;49;00mthe[37m [39;49;00mlanguage:[37m [39;49;00mcompiler,[37m [39;49;00mtoolchain,[37m [39;49;00mstandard[37m [39;49;00mlibrary.[37m [39;49;00mThe[37m [39;49;00mstandard[37m [39;49;00mlibrary[37m [39;49;00mhas[37m [39;49;00mtaken[37m [39;49;00moutside[37m [39;49;00mpatches[37m [39;49;00msince[37m [39;49;00m[34m2024[39;49;00m[37m [39;49;00m[35mand[39;49;00m[37m [39;49;00mthe[37m [39;49;00mMAX[37m [39;49;00mkernels[37m [39;49;00mopened[37m [39;49;00m[35min[39;49;00m[37m [39;49;00m[34m2025[39;49;00m,[37m [39;49;00mso[37m [39;49;00mthe[37m [39;49;00mcompiler[37m [39;49;00mwas[37m [39;49;00mthe[37m [39;49;00mlast[37m [39;49;00mclosed[37m [39;49;00mpiece,[37m [39;49;00m[35mand[39;49;00m[37m [39;49;00mnow[37m [39;49;00mit[37m [39;49;00m[34mis[39;49;00m[37m [39;49;00mpublic.[37m[39;49;00m
[37m[39;49;00m
The[37m [39;49;00mCommunity[37m [39;49;00mLicense[37m [39;49;00mside[37m [39;49;00mcovers[37m [39;49;00mMAX.[37m [39;49;00mIt[37m [39;49;00mlets[37m [39;49;00myou[37m [39;49;00mprepare[37m [39;49;00mderivative[37m [39;49;00mworks[37m [39;49;00m[35mand[39;49;00m[37m [39;49;00msublicense[37m [39;49;00m[35mand[39;49;00m[37m [39;49;00mdistribute[37m [39;49;00mthem[37m [39;49;00m[35min[39;49;00m[37m [39;49;00mobject[37m [39;49;00mcode[37m [39;49;00mform.[37m [39;49;00m[36mObject[39;49;00m[37m [39;49;00mcode[37m [39;49;00mform[37m [39;49;00m[34mis[39;49;00m[37m [39;49;00mthe[37m [39;49;00mphrase[37m [39;49;00mto[37m [39;49;00msit[37m [39;49;00mwith.[37m [39;49;00mYou[37m [39;49;00mcan[37m [39;49;00mship[37m [39;49;00msomething[37m [39;49;00mbuilt[37m [39;49;00mon[37m [39;49;00mMAX.[37m [39;49;00mYou[37m [39;49;00mcannot[37m [39;49;00mhand[37m [39;49;00msomeone[37m [39;49;00mthe[37m [39;49;00mmodified[37m [39;49;00msource[37m [39;49;00mof[37m [39;49;00mthe[37m [39;49;00mruntime[37m [39;49;00mthe[37m [39;49;00mway[37m [39;49;00mApache[37m [39;49;00mwould[37m [39;49;00mlet[37m [39;49;00myou.[37m[39;49;00m
[37m[39;49;00m
The[37m [39;49;00mterms[37m [39;49;00mdid[37m [39;49;00mget[37m [39;49;00mlooser,[37m [39;49;00m[35mand[39;49;00m[37m [39;49;00mthat[37m [39;49;00mdeserves[37m [39;49;00msaying[37m [39;49;00mplainly.[37m [39;49;00mThe[37m [39;49;00mold[37m [39;49;00mMAX[37m [39;49;00mlicense[37m [39;49;00mcapped[37m [39;49;00mfree[37m [39;49;00mproduction[37m [39;49;00muse[37m [39;49;00mat[37m [39;49;00meight[37m [39;49;00maccelerators[37m [39;49;00moutside[37m [39;49;00mx86,[37m [39;49;00mArm[37m [39;49;00m[35mand[39;49;00m[37m [39;49;00mNVIDIA,[37m [39;49;00m[35mand[39;49;00m[37m [39;49;00mrequired[37m [39;49;00mwritten[37m [39;49;00mpermission[37m [39;49;00mbefore[37m [39;49;00mrunning[37m [39;49;00mon[37m [39;49;00mcustom[37m [39;49;00mhardware.[37m [39;49;00mBoth[37m [39;49;00mrequirements[37m [39;49;00mare[37m [39;49;00mgone.[37m [39;49;00mIf[37m [39;49;00myou[37m [39;49;00mevaluated[37m [39;49;00mMAX[37m [39;49;00mlast[37m [39;49;00myear[37m [39;49;00m[35mand[39;49;00m[37m [39;49;00mfiled[37m [39;49;00mit[37m [39;49;00munder[37m [39;49;00mvendor[37m [39;49;00mlock-[35min[39;49;00m,[37m [39;49;00mthe[37m [39;49;00marithmetic[37m [39;49;00mhas[37m [39;49;00mchanged[37m [39;49;00msince.[37m[39;49;00m
[37m[39;49;00m
[37m## Contributions are the actual steering wheel[39;49;00m[37m[39;49;00m
[37m[39;49;00m
Verbatim[37m [39;49;00mfrom[37m [39;49;00mthe[37m [39;49;00mrepository:[37m [39;49;00m[33m"[39;49;00m[33mWe aren[39;49;00m[33m'[39;49;00m[33mt accepting contributions to the Mojo compiler yet.[39;49;00m[33m"[39;49;00m[37m[39;49;00m
[37m[39;49;00m
That[37m [39;49;00msentence[37m [39;49;00mcarries[37m [39;49;00mthe[37m [39;49;00mgovernance[37m [39;49;00mstory,[37m [39;49;00m[35mnot[39;49;00m[37m [39;49;00mthe[37m [39;49;00mlicense[37m [39;49;00mfile.[37m [39;49;00mA[37m [39;49;00mlicense[37m [39;49;00mdecides[37m [39;49;00mwhat[37m [39;49;00myou[37m [39;49;00mmay[37m [39;49;00mdo[37m [39;49;00mwith[37m [39;49;00mthe[37m [39;49;00mcode[37m [39;49;00myou[37m [39;49;00malready[37m [39;49;00mhave.[37m [39;49;00mThe[37m [39;49;00mcontribution[37m [39;49;00mpolicy[37m [39;49;00mdecides[37m [39;49;00mwhether[37m [39;49;00mthe[37m [39;49;00mcode[37m [39;49;00myou[37m [39;49;00mhave[37m [39;49;00mresembles[37m [39;49;00mthe[37m [39;49;00mcode[37m [39;49;00mthat[37m [39;49;00mships[37m [39;49;00mnext[37m [39;49;00mquarter.[37m [39;49;00mThose[37m [39;49;00mare[37m [39;49;00mtwo[37m [39;49;00mdifferent[37m [39;49;00mquestions[37m [39;49;00m[35mand[39;49;00m[37m [39;49;00mright[37m [39;49;00mnow[37m [39;49;00mthey[37m [39;49;00mhave[37m [39;49;00mtwo[37m [39;49;00mdifferent[37m [39;49;00manswers.[37m[39;49;00m
[37m[39;49;00m
Ownership[37m [39;49;00m[34mis[39;49;00m[37m [39;49;00mwhy[37m [39;49;00mit[37m [39;49;00m[34mis[39;49;00m[37m [39;49;00mworth[37m [39;49;00mtracking.[37m [39;49;00mQualcomm[37m [39;49;00mcompleted[37m [39;49;00mits[37m [39;49;00macquisition[37m [39;49;00mof[37m [39;49;00mModular[37m [39;49;00mon[37m [39;49;00m[34m29[39;49;00m[37m [39;49;00mJuly[37m [39;49;00m[34mfor[39;49;00m[37m [39;49;00mroughly[37m [39;49;00m$[34m4[39;49;00m[37m [39;49;00mbillion[37m [39;49;00m[35min[39;49;00m[37m [39;49;00mstock,[37m [39;49;00mwith[37m [39;49;00mChris[37m [39;49;00mLattner[37m [39;49;00mmoving[37m [39;49;00minto[37m [39;49;00man[37m [39;49;00mEVP[37m [39;49;00mrole[37m [39;49;00mover[37m [39;49;00madvanced[37m [39;49;00mAI[37m [39;49;00msoftware[37m [39;49;00m[35mand[39;49;00m[37m [39;49;00mplatforms.[37m [39;49;00mMojo[33m'[39;49;00m[33ms entire pitch is hardware neutrality: x86 and Arm CPUs, NVIDIA and AMD GPUs, Apple Silicon, Google TPUs, AWS Trainium, and Qualcomm[39;49;00m[33m'[39;49;00ms[37m [39;49;00mown[37m [39;49;00mCloud[37m [39;49;00mAI[37m [39;49;00m[34m100[39;49;00m[37m [39;49;00mUltra[37m [39;49;00m[35mand[39;49;00m[37m [39;49;00mDragonfly[37m [39;49;00maccelerators.[37m [39;49;00mThat[37m [39;49;00mlist[37m [39;49;00m[34mis[39;49;00m[37m [39;49;00mnow[37m [39;49;00mcurated[37m [39;49;00mby[37m [39;49;00ma[37m [39;49;00mcompany[37m [39;49;00mthat[37m [39;49;00msells[37m [39;49;00mtwo[37m [39;49;00mentries[37m [39;49;00mon[37m [39;49;00mit.[37m[39;49;00m
[37m[39;49;00m
None[37m [39;49;00mof[37m [39;49;00mthat[37m [39;49;00m[34mis[39;49;00m[37m [39;49;00msinister,[37m [39;49;00m[35mand[39;49;00m[37m [39;49;00mpublishing[37m [39;49;00mthe[37m [39;49;00mcompiler[37m [39;49;00m[34mis[39;49;00m[37m [39;49;00ma[37m [39;49;00mgenuine[37m [39;49;00mcheck[37m [39;49;00magainst[37m [39;49;00mthe[37m [39;49;00mobvious[37m [39;49;00mworry.[37m [39;49;00mBut[37m [39;49;00mwhen[37m [39;49;00mthe[37m [39;49;00mAMD[37m [39;49;00mbackend[37m [39;49;00m[35mand[39;49;00m[37m [39;49;00mthe[37m [39;49;00mQualcomm[37m [39;49;00mbackend[37m [39;49;00mboth[37m [39;49;00mwant[37m [39;49;00mengineering[37m [39;49;00mattention[37m [39;49;00m[35min[39;49;00m[37m [39;49;00mthe[37m [39;49;00msame[37m [39;49;00msprint,[37m [39;49;00mthe[37m [39;49;00mlicense[37m [39;49;00mdoes[37m [39;49;00m[35mnot[39;49;00m[37m [39;49;00madjudicate.[37m [39;49;00mHeadcount[37m [39;49;00mdoes,[37m [39;49;00m[35mand[39;49;00m[37m [39;49;00mheadcount[37m [39;49;00mreports[37m [39;49;00mto[37m [39;49;00mQualcomm.[37m[39;49;00m
[37m[39;49;00m
[37m## What Apache 2.0 actually buys you[39;49;00m[37m[39;49;00m
[37m[39;49;00m
The[37m [39;49;00mreflex[37m [39;49;00manswer[37m [39;49;00m[34mis[39;49;00m[37m [39;49;00mthat[37m [39;49;00myou[37m [39;49;00mcan[37m [39;49;00mfork[37m [39;49;00mit.[37m [39;49;00mPrice[37m [39;49;00mthat[37m [39;49;00magainst[37m [39;49;00mthe[37m [39;49;00mwork.[37m [39;49;00mForking[37m [39;49;00ma[37m [39;49;00mcompiler[37m [39;49;00mthat[37m [39;49;00mtargets[37m [39;49;00mseven[37m [39;49;00mhardware[37m [39;49;00mfamilies[37m [39;49;00mmeans[37m [39;49;00mowning[37m [39;49;00mLLVM[37m [39;49;00mbackend[37m [39;49;00mmaintenance,[37m [39;49;00mkernel[37m [39;49;00mlibraries,[37m [39;49;00m[35mand[39;49;00m[37m [39;49;00ma[37m [39;49;00mtest[37m [39;49;00mmatrix[37m [39;49;00mspanning[37m [39;49;00mROCm[37m [39;49;00m[35mand[39;49;00m[37m [39;49;00mCUDA[37m [39;49;00mversions.[37m [39;49;00mModular[37m [39;49;00mreached[37m [39;49;00mstate[37m [39;49;00mof[37m [39;49;00mthe[37m [39;49;00mart[37m [39;49;00mon[37m [39;49;00mAMD[33m'[39;49;00m[33ms MI355 in fourteen days using the people who wrote the compiler. Your fork does not have those people.[39;49;00m[37m[39;49;00m
[37m[39;49;00m
The[37m [39;49;00mrealistic[37m [39;49;00mvalue[37m [39;49;00m[34mis[39;49;00m[37m [39;49;00mnarrower,[37m [39;49;00m[35mand[39;49;00m[37m [39;49;00mstill[37m [39;49;00mworth[37m [39;49;00mhaving.[37m[39;49;00m
[37m[39;49;00m
Continuity[37m [39;49;00m[34mis[39;49;00m[37m [39;49;00mthe[37m [39;49;00mbig[37m [39;49;00mone.[37m [39;49;00mIf[37m [39;49;00ma[37m [39;49;00mbackend[37m [39;49;00myou[37m [39;49;00mdepend[37m [39;49;00mon[37m [39;49;00mgets[37m [39;49;00mdeprioritized,[37m [39;49;00mthe[37m [39;49;00mcode[37m [39;49;00mdoes[37m [39;49;00m[35mnot[39;49;00m[37m [39;49;00mvanish[37m [39;49;00malong[37m [39;49;00mwith[37m [39;49;00mthe[37m [39;49;00mroadmap[37m [39;49;00mdecision.[37m [39;49;00mYou[37m [39;49;00mcan[37m [39;49;00mpin[37m [39;49;00ma[37m [39;49;00mcommit,[37m [39;49;00mcarry[37m [39;49;00ma[37m [39;49;00mpatch,[37m [39;49;00m[35mand[39;49;00m[37m [39;49;00mkeep[37m [39;49;00mshipping[37m [39;49;00m[34mwhile[39;49;00m[37m [39;49;00myou[37m [39;49;00mplan[37m [39;49;00ma[37m [39;49;00mmigration[37m [39;49;00mon[37m [39;49;00myour[37m [39;49;00mown[37m [39;49;00mschedule[37m [39;49;00minstead[37m [39;49;00mof[37m [39;49;00ma[37m [39;49;00mvendor[33m'[39;49;00m[33ms.[39;49;00m[37m[39;49;00m
[37m[39;49;00m
Audit[37m [39;49;00m[34mis[39;49;00m[37m [39;49;00mthe[37m [39;49;00msecond.[37m [39;49;00mWhen[37m [39;49;00ma[37m [39;49;00mkernel[37m [39;49;00mruns[37m [39;49;00mslower[37m [39;49;00mthan[37m [39;49;00mthe[37m [39;49;00mhardware[37m [39;49;00mshould[37m [39;49;00mallow,[37m [39;49;00myou[37m [39;49;00mcan[37m [39;49;00mread[37m [39;49;00mthe[37m [39;49;00mlowering[37m [39;49;00myourself[37m [39;49;00mrather[37m [39;49;00mthan[37m [39;49;00mfiling[37m [39;49;00ma[37m [39;49;00mticket[37m [39;49;00m[35mand[39;49;00m[37m [39;49;00mwaiting[37m [39;49;00m[34mfor[39;49;00m[37m [39;49;00msomeone[37m [39;49;00mto[37m [39;49;00mreproduce[37m [39;49;00mit.[37m[39;49;00m
[37m[39;49;00m
Reproducibility[37m [39;49;00m[34mis[39;49;00m[37m [39;49;00mthe[37m [39;49;00mthird.[37m [39;49;00mBuilding[37m [39;49;00mfrom[37m [39;49;00msource[37m [39;49;00magainst[37m [39;49;00ma[37m [39;49;00mpinned[37m [39;49;00mcommit[37m [39;49;00mtakes[37m [39;49;00myour[37m [39;49;00mbuild[37m [39;49;00moff[37m [39;49;00ma[37m [39;49;00mvendor[33m'[39;49;00m[33ms binary release cadence.[39;49;00m[37m[39;49;00m
[37m[39;49;00m
Exit,[37m [39;49;00msight,[37m [39;49;00m[35mand[39;49;00m[37m [39;49;00mreproducibility.[37m [39;49;00mNot[37m [39;49;00ma[37m [39;49;00mvote[37m [39;49;00mon[37m [39;49;00mdirection.[37m[39;49;00m
[37m[39;49;00m
[37m## The clause your agents should read[39;49;00m[37m[39;49;00m
[37m[39;49;00m
One[37m [39;49;00mprovision[37m [39;49;00m[35min[39;49;00m[37m [39;49;00mthe[37m [39;49;00mCommunity[37m [39;49;00mLicense[37m [39;49;00mdeserves[37m [39;49;00msurfacing[37m [39;49;00m[34mfor[39;49;00m[37m [39;49;00manyone[37m [39;49;00mpointing[37m [39;49;00mcoding[37m [39;49;00magents[37m [39;49;00mat[37m [39;49;00mtheir[37m [39;49;00mdependency[37m [39;49;00mtree.[37m[39;49;00m
[37m[39;49;00m
MAX[37m [39;49;00mmay[37m [39;49;00m[35mnot[39;49;00m[37m [39;49;00mbe[37m [39;49;00mused[37m [39;49;00m[34mas[39;49;00m[37m [39;49;00mtraining[37m [39;49;00mdata,[37m [39;49;00mfine-tuning[37m [39;49;00mdata,[37m [39;49;00m[35mor[39;49;00m[37m [39;49;00minput[37m [39;49;00mto[37m [39;49;00many[37m [39;49;00mAI[37m [39;49;00msystem[37m [39;49;00m[35min[39;49;00m[37m [39;49;00morder[37m [39;49;00mto[37m [39;49;00mproduce[37m [39;49;00msoftware[37m [39;49;00mthat[37m [39;49;00mreimplements[37m [39;49;00m[35mor[39;49;00m[37m [39;49;00msubstitutes[37m [39;49;00m[34mfor[39;49;00m[37m [39;49;00mMAX.[37m [39;49;00mModular[33m'[39;49;00m[33ms FAQ draws the line explicitly: you cannot feed the source to a model to generate a reimplementation, a port to another language, or a substitute runtime. You can use AI tools to read, analyze, improve or explain MAX, and to build software that runs on or interoperates with it.[39;49;00m[37m[39;49;00m
[37m[39;49;00m
Take[37m [39;49;00mthat[37m [39;49;00m[34mas[39;49;00m[37m [39;49;00mwritten,[37m [39;49;00mbecause[37m [39;49;00mit[37m [39;49;00mwas[37m [39;49;00mwritten[37m [39;49;00mwith[37m [39;49;00mcare.[37m [39;49;00mComprehension[37m [39;49;00m[34mis[39;49;00m[37m [39;49;00mpermitted.[37m [39;49;00mCompetitive[37m [39;49;00mregeneration[37m [39;49;00m[34mis[39;49;00m[37m [39;49;00m[35mnot[39;49;00m.[37m[39;49;00m
[37m[39;49;00m
The[37m [39;49;00mhard[37m [39;49;00mpart[37m [39;49;00m[34mis[39;49;00m[37m [39;49;00mthat[37m [39;49;00myour[37m [39;49;00mtooling[37m [39;49;00mcannot[37m [39;49;00msee[37m [39;49;00mthe[37m [39;49;00mdifference.[37m [39;49;00mAn[37m [39;49;00mengineer[37m [39;49;00masking[37m [39;49;00man[37m [39;49;00magent[37m [39;49;00mto[37m [39;49;00mexplain[37m [39;49;00mhow[37m [39;49;00mMAX[37m [39;49;00mschedules[37m [39;49;00mwork[37m [39;49;00macross[37m [39;49;00mdevices[37m [39;49;00m[34mis[39;49;00m[37m [39;49;00mon[37m [39;49;00mthe[37m [39;49;00mpermitted[37m [39;49;00mside.[37m [39;49;00mThe[37m [39;49;00msame[37m [39;49;00mengineer[37m [39;49;00m[35min[39;49;00m[37m [39;49;00mthe[37m [39;49;00msame[37m [39;49;00msession[37m [39;49;00masking[37m [39;49;00m[34mfor[39;49;00m[37m [39;49;00ma[37m [39;49;00mminimal[37m [39;49;00mversion[37m [39;49;00mthat[37m [39;49;00mdoes[37m [39;49;00mthe[37m [39;49;00msame[37m [39;49;00mthing[37m [39;49;00mhas[37m [39;49;00mcrossed.[37m [39;49;00mSame[37m [39;49;00m[34mtool[39;49;00m,[37m [39;49;00msame[37m [39;49;00mcontext[37m [39;49;00mwindow,[37m [39;49;00msame[37m [39;49;00msource[37m [39;49;00mfile[37m [39;49;00mloaded.[37m[39;49;00m
[37m[39;49;00m
Expect[37m [39;49;00mmore[37m [39;49;00msource-available[37m [39;49;00mlicenses[37m [39;49;00mto[37m [39;49;00mdraw[37m [39;49;00mthis[37m [39;49;00mboundary,[37m [39;49;00mbecause[37m [39;49;00mthat[37m [39;49;00m[34mis[39;49;00m[37m [39;49;00mwhere[37m [39;49;00mthe[37m [39;49;00mcommercial[37m [39;49;00mexposure[37m [39;49;00msits.[37m [39;49;00mIf[37m [39;49;00myour[37m [39;49;00mdependency[37m [39;49;00mpolicy[37m [39;49;00mtracks[37m [39;49;00mSPDX[37m [39;49;00midentifiers[37m [39;49;00m[35mand[39;49;00m[37m [39;49;00mnothing[37m [39;49;00m[34melse[39;49;00m,[37m [39;49;00mit[37m [39;49;00mdoes[37m [39;49;00m[35mnot[39;49;00m[37m [39;49;00mcapture[37m [39;49;00mthis[37m [39;49;00mat[37m [39;49;00mall.[37m [39;49;00mThe[37m [39;49;00mcheck[37m [39;49;00mthat[37m [39;49;00mwould[37m [39;49;00mcatch[37m [39;49;00mit[37m [39;49;00m[34mis[39;49;00m[37m [39;49;00m[35mnot[39;49;00m[37m [39;49;00ma[37m [39;49;00mscanner,[37m [39;49;00mit[37m [39;49;00m[34mis[39;49;00m[37m [39;49;00mknowing[37m [39;49;00mwhich[37m [39;49;00mof[37m [39;49;00myour[37m [39;49;00mdependencies[37m [39;49;00mcarry[37m [39;49;00msource-available[37m [39;49;00mterms[37m [39;49;00m[35mand[39;49;00m[37m [39;49;00mtelling[37m [39;49;00mthe[37m [39;49;00mpeople[37m [39;49;00mrunning[37m [39;49;00magents[37m [39;49;00mwhich[37m [39;49;00mones[37m [39;49;00mthose[37m [39;49;00mare.[37m[39;49;00m
[37m[39;49;00m
[37m## Three questions before you depend on it[39;49;00m[37m[39;49;00m
[37m[39;49;00m
Which[37m [39;49;00mlayer[37m [39;49;00mam[37m [39;49;00mI[37m [39;49;00mdepending[37m [39;49;00mon[04m[91m?[39;49;00m[37m [39;49;00mThe[37m [39;49;00mcompiler[37m [39;49;00m[35mand[39;49;00m[37m [39;49;00mlanguage[37m [39;49;00mare[37m [39;49;00mApache[37m [39;49;00m[34m2.0[39;49;00m,[37m [39;49;00mso[37m [39;49;00mfork[37m [39;49;00mfreely.[37m [39;49;00mThe[37m [39;49;00mruntime[37m [39;49;00m[34mis[39;49;00m[37m [39;49;00mCommunity[37m [39;49;00mLicense,[37m [39;49;00mso[37m [39;49;00mread[37m [39;49;00mit[37m [39;49;00mproperly.[37m[39;49;00m
[37m[39;49;00m
What[37m [39;49;00mhappens[37m [39;49;00m[34mif[39;49;00m[37m [39;49;00mmy[37m [39;49;00mhardware[37m [39;49;00mtarget[37m [39;49;00mgets[37m [39;49;00mdeprioritized[04m[91m?[39;49;00m[37m [39;49;00mApache[37m [39;49;00mcovers[37m [39;49;00mthe[37m [39;49;00mcompiler,[37m [39;49;00mso[37m [39;49;00mcarrying[37m [39;49;00ma[37m [39;49;00mpatch[37m [39;49;00m[34mis[39;49;00m[37m [39;49;00mavailable[37m [39;49;00mto[37m [39;49;00myou.[37m [39;49;00mBudget[37m [39;49;00mthe[37m [39;49;00meffort[37m [39;49;00mrather[37m [39;49;00mthan[37m [39;49;00massuming[37m [39;49;00mthe[37m [39;49;00moption[37m [39;49;00m[34mis[39;49;00m[37m [39;49;00mfree.[37m[39;49;00m
[37m[39;49;00m
Does[37m [39;49;00mmy[37m [39;49;00mAI[37m [39;49;00musage[37m [39;49;00mpolicy[37m [39;49;00mdistinguish[37m [39;49;00mreading[37m [39;49;00msource[37m [39;49;00mfrom[37m [39;49;00mregenerating[37m [39;49;00mit[04m[91m?[39;49;00m[37m [39;49;00mFor[37m [39;49;00msource-available[37m [39;49;00mdependencies,[37m [39;49;00mthat[37m [39;49;00mdistinction[37m [39;49;00m[34mis[39;49;00m[37m [39;49;00mnow[37m [39;49;00mcontractual[37m [39;49;00mrather[37m [39;49;00mthan[37m [39;49;00mcultural.[37m[39;49;00m
[37m[39;49;00m
The[37m [39;49;00mcompiler[37m [39;49;00mgoing[37m [39;49;00mpublic[37m [39;49;00m[34mis[39;49;00m[37m [39;49;00mgood[37m [39;49;00mnews,[37m [39;49;00m[35mand[39;49;00m[37m [39;49;00mLattner[37m [39;49;00mlicensing[37m [39;49;00mit[37m [39;49;00mthe[37m [39;49;00mway[37m [39;49;00mhe[37m [39;49;00mlicensed[37m [39;49;00mLLVM[37m [39;49;00m[35mand[39;49;00m[37m [39;49;00mSwift[37m [39;49;00m[34mis[39;49;00m[37m [39;49;00ma[37m [39;49;00mdeliberate[37m [39;49;00m[34msignal[39;49;00m[37m [39;49;00mto[37m [39;49;00msystems[37m [39;49;00mpeople[37m [39;49;00mwho[37m [39;49;00mhave[37m [39;49;00mbeen[37m [39;49;00mburned[37m [39;49;00mbefore.[37m [39;49;00mIt[37m [39;49;00mreads[37m [39;49;00m[34mas[39;49;00m[37m [39;49;00mcredible[37m [39;49;00mbecause[37m [39;49;00mthe[37m [39;49;00msame[37m [39;49;00mperson[37m [39;49;00mmade[37m [39;49;00mthe[37m [39;49;00msame[37m [39;49;00mcall[37m [39;49;00mtwice.[37m[39;49;00m
[37m[39;49;00m
Just[37m [39;49;00mdo[37m [39;49;00m[35mnot[39;49;00m[37m [39;49;00mlet[37m [39;49;00mthe[37m [39;49;00mApache[37m [39;49;00mbadge[37m [39;49;00mon[37m [39;49;00mthe[37m [39;49;00mrepository[37m [39;49;00manswer[37m [39;49;00ma[37m [39;49;00mquestion[37m [39;49;00mabout[37m [39;49;00mthe[37m [39;49;00martifact[37m [39;49;00myou[37m [39;49;00mare[37m [39;49;00mactually[37m [39;49;00mlinking[37m [39;49;00magainst.[37m [39;49;00mIn[37m [39;49;00mthis[37m [39;49;00mrepository[37m [39;49;00mthose[37m [39;49;00mare[37m [39;49;00mdifferent[37m [39;49;00mfiles[37m [39;49;00mwith[37m [39;49;00mdifferent[37m [39;49;00mrules,[37m [39;49;00m[35mand[39;49;00m[37m [39;49;00mthe[37m [39;49;00mone[37m [39;49;00mthat[37m [39;49;00mruns[37m [39;49;00m[35min[39;49;00m[37m [39;49;00mproduction[37m [39;49;00m[34mis[39;49;00m[37m [39;49;00mthe[37m [39;49;00mone[37m [39;49;00mwith[37m [39;49;00mterms.[37m[39;49;00m