srijeda, 11. novembar 2026. · Godina I · Broj 15 · Cijena: 0 dinara
JUGOSLOVENSKI FORUM

Glasilo YU mreže · NEMA GRANICA ZA ZNANJE

Prijava Upis
Pravo na uvid u kod. Otvoren protokol omogućava nezavisne operatere i interoperabilnost. Manifest

Izvor

4d7883a894b3

   1 import {t} from './jezik.js';
   2 export const sections=[['mreza','I. Osnivački manifest','manifest_1','/karta'],['registar','II. Stvarnost imena .yu','manifest_2','/registar'],['prava','III. Ulazak i pripadanje','manifest_3','/dobrodosli'],['connect','IV. Tehnička arhitektura','manifest_4','/connect'],['sigurnost','V. Model prijetnji','manifest_5','/sigurnost'],['imena','VI. Pravila registra','manifest_6','/registar/pravila'],['uprava','VII. Uprava i federacija','manifest_7','/uprava'],['dinar','VIII. Ekonomija i valuta','manifest_8','/dinar'],['izvor','IX. Proizvodi i zajednica','manifest_9','/imenik'],['plan','X. Plan isporuke','manifest_10','/plan'],['mjerila','XI. Mjerila uspjeha','manifest_11','/mjerila'],['akademija','XII. Prvih četrnaest dana','manifest_12','/akcije'],['rasprave','XIII. Otvorene odluke','manifest_13','/uprava/prijedlozi'],['izvori','XIV. Arhitektura i izvori','manifest_14','/protokol']];
   3 export function manifest(){return `<p>${t('manifest_intro')}</p>${decisionTable()}<nav>${sections.map(([id,title])=>`<a href="#${id}">${t(title)}</a>`).join(' · ')}</nav>${sections.map(([id,title,key,url])=>`<section id="${id}">${id==='dinar'?'<span id="pijaca"></span>':''}<h2>${t(title)}</h2><div class="manifest-text">${t(key).split('\n\n').map(p=>`<p>${p.replace(/home[.]arpa/g,'<code>home.arpa</code>')}</p>`).join('')}</div><p><a href="${url}">${t('U demou')}: ${t(title)}</a></p></section>`).join('')}<section id="kultura"><h2>${t('YU deklaracija')}</h2><p>${t('deklaracija')}</p><a href="/album">${t('Kultura je naša infrastruktura')}</a></section><p>${t('Prevod sa engleskog izvornika, izdanje 1.1; izvornik (PDF)')} · <a href="/manifest/izvornik.pdf">${t('Izvornik (PDF)')}</a></p>`;}
   4 export function planTables(){
   5  const table=(headers,rows)=>`<table><thead><tr>${headers.map(h=>`<th scope="col">${t(h)}</th>`).join('')}</tr></thead><tbody>${rows.map(row=>`<tr>${row.map(cell=>`<td>${cell}</td>`).join('')}</tr>`).join('')}</tbody></table>`;
   6  const status=(name,url,state)=>[`<a href="${url}">${t(name)}</a>`,t(state)];
   7  const periods=[
   8  ['0–30','Temelji, pretraga imena, pravna strategija, model povjerenja i prijetnji, specifikacija, javni sajt','/sigurnost','u demou','Nezavisan pregled obima i objašnjenja prije stvarnog pokretanja'],
   9  ['31–60','Potpisani registar, CLI, hello.yu u klijentu, javna adresa, provjere isporuke','/protokol','u demou','Instalacija klijenta je simulacija; obični internet ostaje netaknut'],
  10  ['61–90','Zatvorena proba, dobrovoljna telemetrija, prijave zloupotrebe, zahtjevi za imena, sigurnosni pregled','/zalbe','simulacija','Spoljni pregled i bezbjedno uklanjanje klijenta nisu sprovedeni'],
  11  ['4–6','Javna proba, objavljivanje, imenik, višejezični prikaz, Savjet','/imenik','u demou','Povratak članova i incidenti moraju zadovoljiti javne pragove'],
  12  ['7–12','Probna Pijaca, ogledala registra, sporovi i žalbe, izvještaji','/federacija','simulacija','Nezavisni timovi mogu provjeriti i poslužiti podatke alatkom za ogledalo'],
  13  ['2+','Federativna uprava, istraživanje podijeljenog DNS-a i regulisane finansijske usluge','/plan','nije u demou','Korisnost, otpornost i povjerenje prije širenja']];
  14  const checklist=[
  15  ['Povelja, objašnjenja i osnivačka načela','/povelja','u demou'],['Vlasništvo javne domene i pravni pregled','/operater','nije u demou'],['Javni izvor specifikacije, klijenta, registra i uprave','/izvor','u demou'],['Potpisani JSON zapis, razrješenje i probni vektori','/protokol','u demou'],['Demonstracija hello.yu u klijentu za računar','/connect','simulacija'],['Dodatak pregledaču bez obećanja izvornog DNS-a','/connect','simulacija'],['Prikaz povjerenja, HTTPS-a, potpisa i ovlaštenja','/registar','u demou'],['Probna ogledala, provjere isporuke, potpisana izdanja i hitna zamjena ključa','/federacija','simulacija'],['Spoljni preglednici za DNS, sigurnost, civilno društvo i privatnost','/sigurnost','nije u demou'],['Dobrovoljna probna grupa i objavljeni rezultati instalacije i uklanjanja','/mjerila','nije u demou']];
  16  const team=[['Tehnički vođa i mrežni arhitekta','Arhitektura i interoperabilnost'],['Inženjer klijenta za računar','Instalacija, uklanjanje i ažuriranje'],['Inženjer servera i registra','Potpisani podaci i isporuka'],['Inženjer sigurnosti aplikacije','Nezavisan pregled i odgovor na incidente'],['Dizajn i iskustvo upotrebe','Razumljiva prava, povjerenje i pristupačnost'],['Zajednica i višejezični program','Podrška i uključivanje jezičkih zajednica'],['Savjetnici za privatnost, pravo i rad sistema','Povremeni nezavisni nadzor']];
  17  const budgets=[['Skroman prototip otvorenog koda','EUR 30k–100k','Pretežno dobrovoljan rad, ograničene platforme, bez regulisanih finansija'],['Ozbiljna organizacija za probnu fazu','EUR 200k–700k','Inženjeri, sigurnosni pregledi, podrška, pravo i infrastruktura'],['Platforma u više zemalja','EUR 1m+','Stalni tim za povjerenje i sigurnost, lokalna podrška i otporno održavanje']];
  18  return table(['Period','Isporuka','Stanje','Uslov izlaska'],periods.map(([period,name,url,state,gate])=>[period,...status(name,url,state),t(gate)]))+`<h2>${t('Osnivački spisak')}</h2>`+table(['Isporuka','Stanje'],checklist.map(row=>status(...row)))+`<h2>${t('Okvirne pretpostavke, ne obećanje')}</h2><h3>${t('Početni tim')}</h3>`+table(['Uloga','Odgovornost'],team.map(row=>row.map(t)))+`<h3>${t('Budžet prve godine')}</h3>`+table(['Scenario','Okvir','Svrha'],budgets.map(row=>row.map(t)))+`<p>${t('assumptions')}</p>`;
  19 }
  20 
  21 export function decisionTable(){const rows=[['Prva distribucija','Klijent za računar i dodatak; zatim mobilni klijent i javni prolaz','/plan'],['Prvo ime','hello.yu sa običnim javnim HTTPS porijeklom','/connect'],['Protokol','Obični HTTPS i DNS; .yu alias u klijentu','/protokol'],['Javna sigurnost','Neprovjerena imena su označena; nema lažnog sertifikata','/sigurnost'],['Registar','Provjerljive rezervacije, sporovi i odvojene dužnosti','/registar'],['Poslovanje','Pijaca i hosting prije valute','/pijaca'],['Uprava','Ograničen mandat, zatim predstavljanje zajednice','/uprava'],['Uspjeh','Siguran povratak članova i nezavisne usluge','/mjerila']];return `<table><thead><tr><th scope="col">${t('Odluka')}</th><th scope="col">${t('Polazište')}</th></tr></thead><tbody>${rows.map(([key,value,url])=>`<tr><td>${t(key)}</td><td><a href="${url}">${t(value)}</a></td></tr>`).join('')}</tbody></table><ul>${[['/connect','Potpisani klijent i vidljiv izdavač: SIMULACIJA instalacije'],['/connect?ime=hello.yu','Pravo porijeklo hello.yu'],['/connect','Obični internet ostaje netaknut'],['/podesavanja','Izvoz i slobodan odlazak']].map(([h,l])=>`<li><a href="${h}">${t(l)}</a></li>`).join('')}</ul>`;}
  22 export function economyTable(){return `<table><thead><tr>${['Proizvod','Rizik','Najranija faza','Ovdje'].map(x=>`<th scope="col">${t(x)}</th>`).join('')}</tr></thead><tbody>${[['Pijaca u EUR','Uobičajena trgovinska i platna usklađenost','Prototip / pilot','u demou kao simulacija'],['Polog trgovca','Licenciran partner, sporovi i pravila kupca','Nakon provjere pijace','u demou kao simulacija'],['Nagradni bodovi','Pravni pregled obima i mogućnosti zamjene','Kasniji pilot','u demou kao simulacija'],['Prenosivi YU novčić','Visok regulatorni, spekulativni i sigurnosni rizik','Tek nakon pravnog i ekonomskog dizajna','nije u demou']].map(row=>`<tr>${row.map(v=>`<td>${t(v)}</td>`).join('')}</tr>`).join('')}</tbody></table>`;}
  23