Nederlands, English
Doneer aan ASK-Solutions (de IRADIS Foundation), Bekijk onze video's, Steun ons op Patreon
Aanmelden

Synergos

Synergos is een historisch project van ASK-Solutions. Het ontstond uit BackPage en ontwikkelde een vrijesoftware-publicatiesysteem waarin pagina’s, gestructureerde data, afbeeldingen, producten, bestellingen, betaalafhandeling en interactievere sitestructuren samen werden onderzocht.

Vroege Synergos-releases werden beschikbaar gesteld onder de GNU General Public License versie 2. Rond 2008 ging het project over naar de GNU General Public License versie 3. Synergos wordt niet meer als huidig publicatiesysteem ontwikkeld, maar de technische ervaringen en lessen uit het project speelden later een belangrijke rol bij de ontwikkeling van Nocterra.

Waarom Synergos bestond

BackPage had laten zien wat de waarde was van het genereren van websites uit gestructureerd bronmateriaal. Synergos groeide uit die basis en verkende hoe dezelfde ideeën complexere sites konden ondersteunen. Het werd gebruikt om na te denken over pagina’s, producten, bestellingen, navigatie, hergebruik van gestructureerde inhoud en de relatie tussen publiceren en praktische activiteit.

De naam Synergos weerspiegelde het idee om publiceren en praktische uitwisseling samen te brengen. In die tijd begon iets online verkopen vaak met het publiceren van duidelijke informatie over wat er gemaakt was: een cataloguspagina, productbeschrijving, foto’s, prijzen, opties, beschikbaarheid en contactgegevens. De aankoop zelf kon vervolgens doorgaan per e-mail, fax of fysiek bezoek. Synergos verkende die brug tussen informatie publiceren en uitwisseling mogelijk maken. Bij de latere ontwikkeling van Nocterra verschoof de nadruk weg van marktplaatsfuncties en duidelijker naar onderhoudbaar, brongebaseerd publiceren.

Publiceren, producten en bestellingen

Synergos verkende een interactiever publicatiemodel dan BackPage. Waar BackPage statische pagina’s genereerde uit bronbestanden en GNU-gereedschap, verplaatste Synergos structurele data, pagina-informatie, productinformatie en afbeeldingen naar een SQL-database. Het bood een login-gebaseerde bewerkingsflow waarin pagina’s en productinformatie via een webinterface onderhouden konden worden in plaats van alleen via bronbestanden en command-line generatie.

Het systeem experimenteerde ook met WYSIWYG-paginabewerking op een moment waarop via het web beheerde CMS-gereedschappen nog niet algemeen beschikbaar waren voor kleine, praktische websites. De meeste mensen moesten nog steeds direct HTML bewerken, desktopprogramma’s voor webauteurs gebruiken of iemand anders vragen om pagina’s, productbeschrijvingen, afbeeldingen en bestelinformatie bij te werken. TYPO3 bestond, maar was niet eenvoudig te installeren, configureren of gebruiken voor het soort praktische publicatie- en cataloguswerk dat Synergos probeerde te ondersteunen.

Synergos was niet alleen een publicatie-experiment. Het probeerde paginabewerking, productpresentatie, bestellingen en betaling samen te brengen in één praktisch via het web beheerd systeem. Voor zijn tijd was dat een serieuze poging om kleinschalige online publicatie en verkoop beter beheerbaar te maken: publiceren wat gemaakt was, de informatie onderhouden, afbeeldingen en opties tonen, bestellingen ontvangen en betaling koppelen zonder voor elke site een aparte workflow opnieuw te bouwen.

De onderhoudslast op langere termijn werd een steeds groter probleem. Betaalafhandeling was niet slechts een eenmalige toevoeging. PayPal, iDEAL en MrCash vroegen elk doorlopend integratiewerk, en het Nederlandse iDEAL was bijzonder veeleisend doordat banken hun eigen implementaties hadden. Het werk om die betaalpaden werkend, getest en compatibel te houden vroeg daardoor steeds meer tijd die ASK-Solutions ook aan andere projecten en doelstellingen kon besteden.

Die ervaring werd later belangrijk bij het ontwerpen van Nocterra. Synergos had laten zien welke functies in één systeem konden worden samengebracht, maar ook hoeveel blijvende onderhoudsverantwoordelijkheid daarmee ontstond. In Nocterra werden lessen rond gestructureerd publiceren en onderhoudbaarheid meegenomen, terwijl betaalafhandeling, marktplaatsfuncties en webshoponderhoud bewust geen onderdeel van het normale CMS-model werden.

Licentiegeschiedenis

Synergos werd uitgebracht als vrije software. De vroege publieke releases gebruikten de GNU General Public License versie 2, zoals BackPage daarvoor ook had gedaan. Rond 2008 ging Synergos over naar de GNU General Public License versie 3.

De overgang van GPLv2 naar GPLv3 sloot aan bij vragen die binnen ASK-Solutions al langer centraal stonden rond kennis, vrijheid, afhankelijkheid en praktische zeggenschap. De vier essentiële vrijheden van vrije software — software kunnen uitvoeren, bestuderen, delen en wijzigen — geven aan zulke vragen een concrete betekenis binnen software. Voor ASK-Solutions is daarbij niet alleen van belang dat deze vrijheden juridisch op papier bestaan, maar ook dat zij in de praktijk bruikbaar blijven.

GPLv3 reageerde op problemen die na GPLv2 duidelijker zichtbaar waren geworden, waaronder Tivoization: GPL-software verspreiden in een apparaat terwijl de gebruiker technisch wordt verhinderd een gewijzigde versie op datzelfde apparaat uit te voeren. Dat is voor ASK-Solutions relevant omdat een formele vrijheid weinig praktische betekenis heeft wanneer technische, juridische of contractuele beperkingen het daadwerkelijk gebruiken van die vrijheid verhinderen. De overstap naar GPLv3 paste daarom bij de keuze om software niet alleen beschikbaar te maken om te bestuderen en te delen, maar ook werkelijk aanpasbaar, opnieuw installeerbaar en bruikbaar onder controle van de gebruiker te houden.

Historische Synergos-releases moeten gelezen worden samen met de licentiebestanden in die releases, vooral wanneer herstelde archieven materiaal uit verschillende perioden bevatten.

The Great Server Crash™ en de stap naar Nocterra

In 2019, na The Great Server Crash™, werd Synergos niet opnieuw opgebouwd zoals het daarvoor bestond. In plaats daarvan werden de bruikbare ideeën, ervaringen en lessen uit het project meegenomen bij de ontwikkeling van een afzonderlijk nieuw project: Nocterra.

Nocterra bracht brongebaseerd publiceren opnieuw nadrukkelijk in het publicatiemodel en combineerde dat met lessen die uit Synergos waren gekomen. Het nieuwe project koos bewust voor langdurige controle, privacy, veiligheid en toegankelijkheid, zonder een publiek toegankelijke browserbackend, telemetrie of open-coremodel als onderdeel van het normale CMS-model.

Relatie met ASK-Solutions

Synergos is een historisch project van ASK-Solutions. Het gaf een concrete technische uitwerking aan vragen rond kennis, publicatie, vrijheid en afhankelijkheid: hoe kunnen mensen informatie publiceren en onderhouden, werk presenteren, gestructureerde gegevens beheren en praktische uitwisseling mogelijk maken zonder dat het geheel onbegrijpelijk of onbeheersbaar wordt?

Online publiceren werd steeds belangrijker voor het uitleggen van projecten, het delen van kennis, het presenteren van creatief en technisch werk en het onderhouden van contact met anderen. Synergos onderzocht hoe zulke functies in één systeem konden worden samengebracht met paginabewerking, gestructureerde data, afbeeldingen, producten, bestellingen en betaalafhandeling.

Het project maakte tegelijk zichtbaar dat meer geïntegreerde functionaliteit ook een veel groter en kwetsbaarder beveiligings- en onderhoudsoppervlak creëert. Inlogschermen, gebruikersaccounts, wachtwoorden en andere credentials, sessiebeheer, uploads, WYSIWYG-bewerking, databasestatus, bibliotheken, product- en bestelgegevens en betaalintegraties verwerkten voortdurend informatie die van buiten het systeem kwam en daarom niet vertrouwd mocht worden. Al die onderdelen moesten niet alleen blijven functioneren, maar ook over langere tijd veilig met elkaar blijven samenwerken.

Daarbij speelde ook de keuze voor PHP een belangrijke rol. Zeker in de versies waarmee Synergos gedurende zijn bestaan te maken had, was PHP een taal die organisch en sterk incrementeel was gegroeid, zonder dat alle onderdelen vanuit één consistent taal- en API-ontwerp waren ontstaan. Automatische typeconversie, impliciet gedrag, historische uitzonderingen en onderling inconsistente functie-interfaces maakten bepaalde foutklassen gemakkelijker te introduceren en moeilijker vroeg te herkennen. Ook veranderden functies en interfaces tussen versies geregeld op manieren die bestaande aannames konden doorbreken: argumentvolgorde, geaccepteerde typen, returnwaarden en ander gedrag waren niet overal even consequent of stabiel. Voor software waarin betrouwbaarheid en beveiliging rond onbetrouwbare invoer centraal stonden, betekende dat dat niet alleen de applicatielogica maar ook de eigenschappen en veranderlijkheid van de taal zelf voortdurend aandacht vroegen.

Daarnaast lag het beveiligingsrisico niet uitsluitend in de code van Synergos. PHP en de meegeleverde extensies kenden in die periode zelf met regelmaat beveiligingsproblemen en regressies waarvoor nieuwe releases noodzakelijk waren. Problemen konden zich bevinden in onderdelen zoals geheugenbeheer, invoerverwerking, sessies, bestandsbeperkingen, afbeeldingsfuncties of andere ingebouwde functionaliteit waarop applicaties vertrouwden. In sommige perioden volgden beveiligings- en bugfixreleases elkaar daardoor snel op. Een applicatie kon zorgvuldig geschreven zijn en toch opnieuw onderhoud vereisen omdat de runtime, een standaardfunctie of een meegeleverde bibliotheek daaronder moest worden vervangen of omdat gedrag tussen PHP-versies veranderde. Voor een publiek bereikbaar beheersysteem met authenticatie, uploads, sessies, gebruikersbeheer, databasebewerkingen en betaalverwerking maakte die combinatie PHP tot een bijzonder onrustige basis voor een systeem waarvoor een hoge en langdurige veiligheidsmarge gewenst was.

Status

Synergos is een historisch project van ASK-Solutions en wordt niet meer als huidig publicatiesysteem ontwikkeld. Historische releases en ander projectmateriaal worden waar mogelijk bewaard en hersteld, zodat de software en haar ontwikkeling gedocumenteerd blijven.

De ervaringen met Synergos speelden later een belangrijke rol bij de ontwikkeling van Nocterra. Daarbij werden zowel bruikbare ideeën als lessen over complexiteit, onderhoud, beveiliging en afhankelijkheid opnieuw afgewogen. De verdere uitwerking daarvan hoort bij het huidige project Nocterra.

Heeft u nog een oude Synergos-kopie?

ASK-Solutions probeert historisch Synergos-materiaal te bewaren als onderdeel van de projectgeschiedenis die van BackPage naar Nocterra leidde. Als u nog een oude Synergos-release, gedeeltelijk bronarchief, voorbeeldsite, patch, screenshot of verwant bestand heeft, neem dan contact op met de stichting.

Herstelde historische releases die al beschikbaar zijn, zijn te vinden op de Nocterra-downloadpagina. Aanvullend materiaal kan helpen het archief compleet te maken en het project nauwkeuriger te documenteren als historisch vrije-software- en publicatiesysteemartefact.

Waarheen verder?