Lauma, ohjelmistotyökalu, liittyy ensisijaisesti Windows -käyttöjärjestelmään, mutta voidaanko sitä käyttää muissa käyttöjärjestelmissä, riippuu itse ohjelmiston luonteesta sen yhteensopivuudesta, riippuvuuksista ja ympäristöstä.
Aluksi lauman ymmärtäminen edellyttää sen tarkoitusta, toteutusta ja ekosysteemiä. Karja on tyypillisesti ohjelmistopaketti tai työkalu, joka voidaan suunnitella tietylle käyttöjärjestelmälle sen riippuvuuksien vuoksi järjestelmäkirjastoista, ytimen ominaisuuksista tai laitteistorajapinnoista. Windowsille kehitetyt ohjelmistot luottavat usein Windows API- ja alajärjestelmiin, jotka ovat ainutlaatuisia kyseiselle alustalle. Tämä sisältää suoran integraation Windows -ytimen ominaisuuksiin, tiettyjen tiedostojärjestelmien käsittelyn (kuten NTFS) ja Windows Runtime -ympäristön. Nämä ominaisuudet rajoittavat luonnostaan ohjelmiston toiminnan Windowsiin, ellei vaihtoehtoisia toteutuksia tai kerroksia ole.
Monet ohjelmistotyökalut kuitenkin löytävät tapoja tulla alustojen välisiksi eri tavoin:
1. Alustojen väliset kehityskehykset: Jos lauma kehitetään käyttämällä alustojen välisiä kehyksiä, kuten QT, .NET Core, Java tai Python, se voi luonnostaan tukea useita käyttöjärjestelmiä. Tämä tarkoittaa, että lauma voi ajaa asianmukaisilla binaareilla tai tulkkeilla Linuxissa, macOS tai muissa UNIX-kaltaisissa järjestelmissä.
2. Yhteensopivuuskerrokset: Työkalut, kuten viini, sallivat Windows -sovellusten käyttämisen muissa käyttöjärjestelmissä, erityisesti Linuxissa ja macOS: ssä, kääntämällä Windows System -puhelut Linux -ekvivalentteihin. Jos lauma on yhteensopiva viinin kanssa, sitä voidaan käyttää näillä alustoilla huolimatta Windows -ohjelmistosta.
3. Siirtopyrkimykset: Joskus Windowsille alun perin suunniteltu sovellus siirretään muihin käyttöjärjestelmiin. Tähän sisältyy lähdekoodin mukauttaminen muiden kuin Windows-sovellusliittymien käyttämiseen ja sen uudelleenmäärittämiseen kohdesovellukseen. Lauman monimutkaisuudesta riippuen tämä voi olla mahdollista.
4. Kontistointi ja virtualisointi: Kontteja (kuten Docker) tai virtuaalikoneita käyttämällä laumaa voidaan teknisesti käyttää muissa käyttöjärjestelmissä kapseloimalla sen Windows -ympäristö virtualisoidussa tilassa.
Yleisimpien käyttöjärjestelmien lisäksi Windowsin lisäksi:
- Linux: Koska Linux on avoimen lähdekoodin ja erittäin modulaarinen, tukee erilaisten ohjelmistojen suorittamista natiivien rakennusten, viinin tai virtualisoinnin kautta. Jos karjassa on Linux -versio tai se on yhteensopiva viinin kanssa, käyttäjät voivat käyttää sitä Linuxissa.
- MacOS: Samanlainen kuin Linux, macOS voi suorittaa ohjelmistoja natiiviporttien, yhteensopivuuskerroksen, kuten viinin tai ristinvaihdon tai virtualisoinnin kautta.
- Muut (BSD, UNIX -järjestelmät): Nämä ovat vähemmän yleisiä yleiskäyttäjäohjelmistoille, mutta voivat tukea työkaluja siirtämällä tai virtualisoimalla.
Käytännöllinen toteutettavuus riippuu karjan suunnittelusta. Esimerkiksi, jos se riippuu voimakkaasti Windows-erityisissä ytimen ominaisuuksissa tai omistuksellisissa Windows-sovellusliittymissä, joilla ei ole ekvivalentteja muilla alustoilla, haasteet lisääntyvät merkittävästi.
Lisäksi lähdekoodin saatavuus vaikuttaa alustojen väliseen potentiaaliin. Avoimen lähdekoodin ohjelmistoa voidaan muokata ja rakentaa uudelleen eri ympäristöihin, kun taas omistusohjelmistoilla ei ole tällaista joustavuutta.
Käyttäjien käyttöönoton ja tuen kannalta ohjelmisto, jolla on virallinen tuki muille käyttöjärjestelmille, tarjoaa tyypillisesti asennuspaketteja, dokumentaatiota ja päivityksiä näille alustoille. Tällaisen tuen puuttuminen viittaa rajoitettuun tai ei lainkaan käyttöä Windowsin ulkopuolella.
Yhteenvetona voidaan todeta, että laumaa voidaan käyttää muissa käyttöjärjestelmissä kuin Windows Saringissa:
- Sen luottamus Windows-erityisominaisuuksiin.
- Alustojen välisten versioiden tai rakennusten saatavuus.
- Yhteensopivuus kerrosten kuten viinin kanssa.
- Yhteisö tai virallinen siirtäminen.
- Kontistointi- tai virtualisointitekniikan käyttö.