Apăsați pe aceasta: Sunt pluginurile dvs. WordPress compatibile cu GPL?

Publicat: 2023-10-06

Bun venit la Press This, podcastul comunității WordPress de la WMR. Fiecare episod prezintă invitați din întreaga comunitate și discuții despre cele mai mari probleme cu care se confruntă dezvoltatorii WordPress. Următoarea este o transcriere a înregistrării originale.

Produs de RedCircle

Doc Pop : Ascultați Press This, un podcast comunitar WordPress pe WMR. În fiecare săptămână, punem în evidență membrii comunității WordPress. Sunt gazda ta, doctore Pop. Sprijin comunitatea WordPress prin rolul meu la WP Engine și contribuțiile mele pe TorqueMag.io. Vă puteți abona la Press This pe RedCircle, iTunes, Spotify sau aplicația dvs. preferată de podcasting, sau puteți descărca episoade direct de pe WMR.fm.

Dacă ați contribuit vreodată la un proiect open-source, știți că totul este despre colaborare și inovare, dar există o provocare puțin cunoscută cu care s-ar putea confrunta mulți dezvoltatori pentru a se asigura că pluginurile lor rămân pe partea dreaptă a GPL, GNU, Licență Publică Generală. Nu este doar o chestiune de conformitate. Este vorba despre păstrarea spiritului open source.

Așa că astăzi avem un invitat special, Jeff Paul, directorul open source la 10up, care va împărtăși o soluție care schimbă jocul pe care a prezentat-o ​​la WordCamp US anul acesta. Imaginați-vă că aveți un instrument care vă scanează automat baza de cod pentru a garanta compatibilitatea GPL a pluginului dvs., chiar dacă adăugați noi funcții și dependențe.

Despre asta vom vorbi astăzi. Dar înainte de a ne aprofunda în asta, Jeff, ne poți spune povestea despre originea ta WordPress?

Jeff Paul : Sigur. Nu știu dacă am anul exact. Era probabil începutul anilor 2000. Aveam un site personal care era pe un fost CMS, cred că se numea Geeklog. Și între asta și furnizorul meu de găzduire de la acea vreme și cine știe câți alți factori, a existat, știți, un colaps de conținut în CMS.

Și așa că căutam ceva cu care să-l înlocuiesc în acel moment. Am găsit WordPress și a funcționat pentru ceea ce aveam nevoie. Știi, nu am mers eu însumi pe calea construirii unui CMS, care pare a fi o poveste bună despre origine pentru mulți oameni. Dar asta a fost, spuneți-i, nu știu, din '04 până în '07, undeva în intervalul ăsta, dar nu am depășit diferența pentru a contribui până la lansarea WordPress 4.7, când m-am alăturat echipei de lansări acolo cu Helen Hou-Sandi și Aaron Jorbin. Așadar, am petrecut mulți ani fiind un consumator al proiectului și abia după o perioadă de timp am devenit colaborator și, știți, am continuat acest drum de atunci. Ei bine, știi, consumator dublu și contributor în acest moment.

DP : Și ați fost un colaborator foarte activ la nucleul WordPress, de asemenea. 10up menține zeci de pluginuri în depozitul de pluginuri, inclusiv ElasticPress, Distributor, ClassifAI. Toate acestea sunt disponibile în depozitul wordpress.org și sunt menținute pe GitHub, public și folosind practici open-source.

Sunteți foarte familiarizat cu subiectul în care vom aborda. De ce nu începem doar cu depozitul WordPress, cum ar fi, depozitul de pluginuri WordPress? Spune-ne repede, ce este depozitul WordPress și care sunt regulile pentru a putea încărca ceva în el?

JP : Sigur. Deci, depozitul WordPress este găzduit de WordPress.org, proiectul open source, separat de WordPress.com, separat de orice altă gazdă din ecosistem, separat de companii sau distribuitori de pluginuri terți. Și este ceea ce este direct legat sau legat de fiecare instalare WordPress de acolo. Când cineva se află în administratorul WordPress, caută un plugin sau o temă, acele căutări se fac prin acel depozit de pluginuri WordPress.org și depozitul de teme, disponibile în administratorul WordPress. Și la fel și pe WordPress.org. De fapt, aceeași căutare, același conținut, este disponibil acolo.

În ceea ce privește obținerea de ceva listat acolo, echipa de examinare a pluginurilor wordpress.org are un set de linii directoare detaliate despre lucruri de făcut și de ce nu trebuie făcute pentru dezvoltatorii de pluginuri. Și apoi există un flux de lucru real de trimitere pentru a face acea trimitere inițială la depozitul de pluginuri wordpress.org. Odată ce acesta este aprobat, există un repo SVN care este creat pentru pluginul dvs. Și, știți, orice actualizări, versiuni etc. sunt trimise acolo către SVN. Și aici este locul în care totul trăiește și respiră în prezent pentru lucrurile care sunt disponibile pentru căutare pe WordPress.org sau în cadrul administratorului WordPress.

DP : Una dintre primele reguli cred că orice ai pune în depozitul WordPress trebuie să fie în conformitate cu GPL, inclusiv fonturile și imaginile, nu doar codul. Este corect?

JP : Corect. Dreapta. Deci, literalmente, prima regulă a echipei de plugin este că pluginurile în întregime trebuie să fie compatibile cu GPL. Aceasta este aceeași licență pe care o urmează WordPress și, așa cum ați menționat, codul, imaginile și bibliotecile terță parte trebuie să fie toate compatibile cu GPL. Nu trebuie să fie neapărat licența actuală, știți, GPLv2, există altele care sunt compatibile cu GPL, dar da, fonturi, imagini, biblioteci terță parte, dependențe, toate acestea trebuie să fie compatibile cu GPL și nu doar cod pe care îl scrie un dezvoltator de plugin, nu? Toate celelalte lucruri trebuie, de asemenea, să fie compatibile cu GPL.

DP : Și ca să nu-i facem pe ascultători să aștepte, am putea să intrăm în asta. Discuția dvs. a fost despre cum să puteți verifica compatibilitatea GPL folosind acțiunile GitHub. Ne poți ghida prin acest proces?

JP : Da, deci asta provine puțin din rolul meu de director al open source la 10Up. Poate că nu este ceva de care un autor de plugin de zi cu zi, știi, un singur plugin sau chiar mai multe plugin-uri ar putea fi conștient de, sau, deranjează. Dar cred că la un moment dat m-am trezit aproape la propriu în miezul nopții gândindu-mă: „Nu știu dacă știu sigur că știi, toate imaginile, toate dependențele de la terți, toate fonturile. , și cetera, sunt compatibile cu GPL și încearcă să găsească o modalitate la scară pentru noi la 10up în care avem, așa cum ați menționat, zeci de plugin-uri care sunt disponibile în depozitul wordpress.org sau pe GitHub. Sursa de acolo.

Nu am vrut să trec prin toate astea cu un pieptene fin și să verific orice dependențe din amonte pe care le folosim pentru pluginuri și să-mi dau seama, știi, cum sunt acestea licențiate. Ar putea fi o durere în fund pentru un singur plugin, darămite pentru mai multe. Și prin unele, căutând online, am identificat că există unele instrumente, unele acțiuni GitHub care ar putea fi folosite pentru a ajuta la automatizarea eficientă a procesului, astfel încât, știți, nu doar o singură scanare unică a unui depozit pentru a spune, da, sunteți compatibil sau nu, nu sunteți, dar a continuat scanările, astfel încât orice viitoare remedieri de erori, îmbunătățiri, etc., care ar putea fie să adauge o nouă dependență, fie să creeze o dependență în pluginul dvs. care s-a întâmplat să schimbe modul în care a fost ceva licențiat, a putea verifica acest lucru în curs și a face acest tip de trecere pentru prima dată a fost ceva pe care încercam să-mi dau seama, astfel încât să nu devină doar un proces manual, intensiv și un fel ca un coșmar continuu pentru a mă asigura că , acea compatibilitate.

Deci da, vreau să spun, cred că preocuparea inițială pe care am avut-o a fost că nu știam asta — nu aveam de unde să știu că o caracteristică adăugăm, dacă includem o nouă dependență, că era compatibilă cu GPL , și apoi am realizat că ar fi putut exista un scenariu și mai rău în care am avut pluginuri care au fost lansate, repetate pe care deja aveau incompatibilități în software-ul lor.

Și asta a fost cam prima problemă pe care am vrut să o rezolv. Prima scanare inițială, nu? Sunt, știți, pluginurile noastre individuale și toate cele pe care 10up le acceptă sunt cu adevărat compatibile cu licența pe care am declarat-o? Și, să sperăm, să ne încrucișăm degetele. Și apoi, știți, de acolo, acea verificare continuă pentru a ne asigura că viitorii PR, fie ei din echipa mea și din practica open source de la 10up, în general, cu alți 10upers care contribuie la proiecte, sau chiar oricine din comunitate, asigurând că aceia au menținut licența pe care am menționat-o în pluginurile în sine.

DP : Și doar pentru a clarifica aici, dacă nu ați făcut-o, dacă ați descoperit prin asta, că a existat, uh, o dependență existentă sau ceva acolo care, care nu a fost conform, este ramificarea oarecum, rușinoasă din partea comunitate sau este posibil daune punitive pe care le-ați putea suferi pentru nerespectarea regulilor?

JP : Deci nu sunt avocat, nu? Deci, știi, nu am o pălărie de avocat în a da acest comentariu, așa că, știi, un sfat juridic nu este valid, dar abordarea pe care am luat-o când rulam aceste scanări pe pluginurile noastre, pentru că din nou, nu am făcut-o. Știi, eram de fapt destul de nervos să rulez toate acestea, care aveau să fie rezultatele.

Planul meu a fost dacă aș descoperi că există un plugin care folosea ceva care nu era compatibil cu GPL, că cea mai bună abordare ar fi fie să elimin acea dependență, fie să o schimb cu altceva, clar prin asta, indiferent de problemă. a fost și a lansat rapid o nouă versiune, nu?

Nu am simțit că s-ar putea face mare lucru pentru ceea ce fusese deja publicat și lansat. Din punctul meu de vedere, nimic nu ar fi fost făcut într-o manieră de a încerca intenționat să eludeze acordarea de licențe. Ar fi fost, știți, la un moment dat de-a lungul liniei, o eroare umană, oarecum asemănătoare cu o problemă de securitate care este raportată unui autor de plugin. De exemplu, cea mai bună abordare este de a lucra la o remediere și de a obține rapid o lansare, astfel încât oamenii care sunt la curent cu pluginurile să fie în acea stare mai sigură, fie că este o problemă de securitate sau, în acest caz, o problemă de licențiere. Cu siguranță, dacă s-a întâmplat să existe un plugin care a generat în mod semnificativ venituri și, dacă ar putea exista, motive pentru a arăta că a fost o greșeală cunoscută să ai ceva fără licență, deoparte, nu cred că cineva din spațiu face asta intenționat, dar cred că singurii care ar putea fi expuși unui risc legal ar fi cei care generează în mod semnificativ venituri, care ar fi o țintă pentru licențiere.

Așa că da, cred că pe scurt, dacă cineva efectuează o scanare și găsește o problemă în baza de cod existentă, cred că cea mai bună abordare este într-adevăr acea ediție, o versiune actualizată, știi, spuneți în jurnalul de modificări, spuneți în notele de lansare ce a fost schimbat și de ce, fiți transparent în acest sens. Dar în acel moment, asta este într-adevăr, cred că este cel mai bun lucru pe care îl poate face un autor de plugin în acest caz. Din fericire pentru pluginurile lui 10up, nu am întâlnit acest scenariu. Totul a fost, din fericire, compatibil și aș sper că marea majoritate a oamenilor care merg pe această cale, instalând o anumită automatizare pentru a le oferi acel nivel de confort, să aibă o experiență similară.

Poate fi o așteptare puțin nervoasă și anxioasă pentru câteva secunde sau un minut pentru a rula acțiunile GitHub. Dar, știi, odată ce arată că totul trece, cred că majoritatea oamenilor ar ajunge probabil în acea stare.

DP : Apropo de a ne simți confortabil, o să luăm o scurtă pauză. Așadar, stați pe loc și relaxați-vă, iar după scurta pauză publicitară vom reveni cu mai multe din interviul nostru cu Jeff Paul, directorul inițiativelor open-source la 10up despre menținerea pluginurilor dvs. compatibile cu GPL. Rămâneți pe fază pentru mai multe după această scurtă pauză.

DP : Bine ați revenit la Press This, un podcast comunitar WordPress. Eu sunt Doc. Vorbesc cu Jeff Paul despre utilizarea acțiunilor GitHub pentru a vă asigura că codul dvs. și pluginurile sunt compatibile cu GPL. Înainte de pauză, ne-am cam scufundat puțin în asta și am vorbit despre ramificațiile dacă nu ești pe deplin conform. Și cred că am vrut să mă întorc la acest lucru specific. Există acțiuni GitHub pe care oricine le poate crea. Dar Jeff, ai menționat în discursul tău WordCamp că folosești acțiunea oficială GitHub, cred că, cu câteva mici modificări. Ne puteți spune care este numele acțiunii pe care oamenii ar trebui să o caute pentru a putea face asta?

JP : Sigur. Aceasta este o acțiune de revizuire a dependenței. Deci, GitHub.com, acțiuni slash, dependență slash, revizuire cratima, acțiune cratima. Sperăm că transcrierea înțelege corect. Dacă există vreo problemă în a găsi că am notițe despre asta pe site-ul meu, pe o postare care acoperă discuția. Deci, există link-uri disponibile, dar dacă căutați o acțiune de revizuire a dependenței în piața de acțiuni GitHub, sperăm că o veți găsi pe cea oficială pe care am folosit-o și face mai mult decât să verificați dependențele pluginului. Va verifica mai mult decât licențele. De asemenea, poate verifica vulnerabilități și alte lucruri în dependențele dvs. de plugin. Dar singurul lucru pentru care îl folosesc, principalul lucru pentru care îl folosesc, este să verific dacă există licențe nevalide în dependențele din pluginurile noastre.

DP : Și aceasta este o acțiune pe care o puteți configura ce tip de GPL doriți să urmați. Puteți include o licență și se verifică. Și există, de asemenea, posibilitatea, dacă mențineți, să spunem, zeci de plugin-uri, să puteți încă sursa la același lucru. Puteți avea toate acestea, plugin-uri pe care le mențineți încă să vină în acel director, așa că nu trebuie să mergeți și să le actualizați de fiecare dată, nu?

JP : Corect. Da. Văd că ai participat la discursul meu la WordCamp US, felicitări pentru că ai fost în audiență și ai fost treaz și ai ascultat, sau ai prins-o pe YouTube sau WordPress.tv, dar da, există un fel de două fluxuri standard la care m-aș aștepta oameni buni de urmat aici.

Unul, un autor de pluginuri care este responsabil pentru unul sau un număr foarte mic de pluginuri, sau cineva care are mai multe pe scara unu-la-n, are atâtea pluginuri pe care le suportă. Deci, pentru cei care au doar unul, acțiunea GitHub, așa cum ați definit-o, poate în mod eficient în acel fișier de flux de lucru în care în mod eficient apelați acțiunea de revizuire a dependenței și, dacă o scanați prin depozitul dvs., există două variabile de mediu. sau parametrii pe care îi puteți furniza. Acea acțiune este acordarea licențelor și, corolarul, refuzul licențelor. Nu le poți face pe amândouă în același timp. și abordarea pe care am luat-o a fost să merg cu licențele de permis, spre deosebire de licențele de refuz. Gândirea a fost... Aș prefera să am un caz în care am uitat să includ o licență compatibilă cu GPL în lista de licențe permise și să obțin efectiv un fals pozitiv, nu? De exemplu, dacă o dependență este semnalată ca incompatibilă cu licențele mele, deoarece licența ei a fost doar ceva ce am uitat să adaug în listă, comparativ cu dacă folosesc lista de respingere a licențelor și am uitat să refuz o licență pe care nu o vreau, atunci asta ar putea au însemnat că o dependență ar trece, nu ar fi prins de acest control.

Deci, recomandarea mea extrem de puternică este să mergi cu lista de licențe permise. Și în cazul în care cineva menține un singur plugin, este să utilizați doar acel parametru și acea listă de licențe în fișierele fluxului de lucru. Deci, pentru 10up, pentru pluginurile noastre, acesta este directorul dot GitHub și apoi subdirectorul fluxuri de lucru acolo. Și apoi avem fluxul de lucru de revizuire a dependenței care denumește acea acțiune de revizuire a dependenței, are lista de licențe permise, poți să-mi arăți prezentarea fie pe site-ul meu, fie să găsești discuția online și să vezi lista de licențe pe care le avem. De asemenea, puteți explora oricare dintre depozitele lui 10up pe GitHub și puteți vedea licențele pe care le explorăm.

Fișierele noastre de flux de lucru sunt destul de bine documentate și explică cum am ajuns să identificăm ceea ce credeam că sunt licențe compatibile cu pluginurile noastre. Deci, oamenii ar fi bineveniți să folosească lista pe care o avem, ar fi bineveniți să folosească un subset al acelei liste, ar fi bineveniți să facă propriile cercetări, poate pentru a simți acest nivel de confort. Dar am făcut cercetări destul de lungi pentru a ne asigura că ceea ce folosim în lista noastră de licențe permise este de fapt compatibil cu ceea ce declarăm. Și aproape în mod implicit pentru 10up, folosim, GPLv2 sau mai târziu, și astfel toate licențele pe care le listăm sunt compatibile cu GPLv2, în special.

Deci, acesta este cazul, din nou, pentru autorul pluginului cu un singur plugin pe care îl întrețin. După cum ați menționat, pentru cazul în care cineva are mai multe, mai multe, puteți avea un fișier separat de politică de licență care are efectiv toate acele licențe declarate în el. Și apoi faceți referire la acel fișier de configurare, acel fișier de politică de licență, în fluxul de lucru din pluginurile dvs., astfel încât, așa cum ați menționat, într-adevăr, în acel moment, aveți doar un singur loc în care trebuie să mențineți lista de licențe compatibile. Dacă se întâmplă să existe, știți, o nouă licență open-source, aprobată de inițiativă, care se întâmplă să fie compatibilă cu GPLv2 pentru noi, nu? Dacă apare unul nou, atunci acesta ar putea fi adăugat la listă sau, poate, dacă unul trebuie eliminat din orice motiv, nu trebuie să faceți asta în zeci de locații. O faceți într-o singură locație, iar apoi toate fișierele fluxului de lucru care fac referire la acea configurație sunt actualizate imediat, folosind acea nouă listă de licențe.

DP : Toate acestea sunt automate, așa că dacă cineva face o cerere de extragere, o face doar pentru tine. Dreapta?

JP : Corect, corect. Deci, pe măsură ce ne creăm fișierele fluxului de lucru în depozitele noastre, avem un declanșator pentru o solicitare de extragere. Deci, ați putea, de asemenea, să îl configurați să ruleze într-un program CRON, ați putea să îl faceți să ruleze săptămânal sau lunar, dar într-adevăr, odată ce ați făcut prima rulare, scanați întreaga bază de cod a dependențelor și chiar merge. înainte, trebuie doar să verificați acele solicitări de extragere care vin, probabil că ați putea verifica și comiterile individuale dacă nu utilizați un sistem destul de strict de a solicita PR-uri pentru orice ramuri implicite sau stabile sunt pentru plugin-urile dvs.

Deci, ar putea exista declanșatori suplimentari pe care oamenii ar dori să le folosească. Pentru 10up, avem tendința de a solicita cu strictețe PR-urilor să dezvolte și să dezvolte ramuri, astfel încât să putem folosi această acțiune în mod fiabil și să știm că orice modificare a dependențelor care introduce una nouă sau depășește o versiune care se întâmplă să schimbe licența va fi prinsă de acest lucru. . Deci, da, folosim, pivotăm sau declanșăm cererile de tragere, dar în funcție de cât de stricti sunt oamenii, ați putea, poate, să verificați angajamentele individuale către o anumită sucursală sau chiar să rulați după un program zilnic, săptămânal, lunar, doar pentru a avea acel confort știind că codul tău încă trece, că nu există licențe incompatibile cu, în acest caz, GPLv2 pentru 10up.

DP : O să mai luăm o scurtă pauză aici. Când ne vom întoarce, vom încheia conversația cu Jeff Paul despre licențele GPL și poate vom relua orice despre care nu am atins mai devreme. Așa că rămâneți pe fază pentru mai multe după această scurtă pauză.

DP : Bine ați revenit la Press This, un podcast comunitar WordPress. Încheiem spectacolul și vom schimba puțin. S-a vorbit în ultima vreme despre procesul de revizuire a depozitului de pluginuri și, practic, afirmând acest fapt că este, este puțin mai lent decât a fost în trecut.

Unii oameni spun că știu că durează, știi, luni pentru a fi revizuit ceva unde cred că am văzut apogeul la aproximativ patru săptămâni în majoritatea anilor petrecuți în WordPress. Deci, Jeff, știu că au vorbit despre unele schimbări pe care le vor face. Ne poți spune la ce lucrează echipa acum?

JP : Sigur. Da. Și am, știi, am amplificat ceea ce ai spus. Cred că din punct de vedere istoric, am văzut că toate lucrurile pe care le-am trimis au fost mai puțin de două săptămâni și au fost mult mai rapide decât ceea ce este de obicei raportat. Și este în jur de 88 de zile sau ceva nefericit pentru toți cei implicați.

Cred că a existat o schimbare de afaceri în acea echipă. S-au pierdut unele cunoștințe de specialitate foarte experimentate. Și oamenii care au intervenit cu bunăvoință pentru a ajuta la umplerea acelui gol, cred că încă ajung la punctul în care pot avea același tip de debit la procesarea pluginurilor și la revizuirea acestor trimiteri inițiale. Și ei lucrează pentru a încerca să automatizeze o parte din asta. Așadar, unele dintre lucrurile la care, știți, computerele sunt mai bune decât oamenii, poate că nu, poate ca rularea standardelor de codare WordPress și perfecționarea acolo unde sunt raportate erori cu adevărat critice, nu? În loc ca un om să treacă și să proceseze aceste lucruri, să aibă un verificator de pluginuri care rulează și verifică lucrurile care pot fi automatizate și să ajute acea echipă de examinare a pluginurilor să facă o pauză inițială rapidă, cum ar fi, lucrurile care sunt automatizate trec? Dacă da, atunci, bine, aruncați-vă în recenzia dumneavoastră umană și accelerați lucrurile. Dacă au fost raportate lucruri, fiind automatizate în natură, care nu trec, atunci cred că este un răspuns mai rapid la acel dezvoltator de plugin, hei, am identificat aceste lucruri inițiale în scanarea noastră, știi, te rog, rezolvă-le. și apoi trimiteți un fișier zip actualizat, pentru a restabili lucrurile.

Așa că știu că lucrează pentru a adăuga ceva automatizare, cred că cu cât pot face mai mult pentru a-i ajuta pe acea cale, cu atât mai bine, doar pentru că în acest moment, peste o mie de plugin-uri, restanța este lungă și din nou , nu ajut pe nimeni acolo. Deci da, lucrează la automatizări. Știu că vor să facă mai mult și cred că dacă acesta este un domeniu în care cineva este deosebit de talentat la automatizări și dorește să contribuie, cred că echipa de examinare a pluginurilor ar dori să aibă ceva ajutor în acest sens. Deci, cu siguranță, contactați Slack dacă acesta este cazul.

DP : Și vorbind despre a contacta, dacă oamenii au întrebări, despre discursul pe care l-ați susținut la WordCampUS sau doar despre câteva dintre proiectele la care lucrează 10uP în spațiul open source, care este cea mai bună modalitate prin care oamenii să vă contacteze ?

JP : Sigur. Deci site-ul meu este jeffpaul.com. Am prezentarea mea acolo sus, dacă doar căutați GPL, probabil că va fi una dintre primele postări în orice caz. În caz contrar, e-mailul meu este [email protected] , e-mailul meu de serviciu, um, și apoi aproape orice rețea socială. WordPress.org, GitHub, Twitter, slash X și eu sunt @Jeff Paul și mă puteți găsi pe rețelele sociale așa.

DP : În mod similar, dacă ascultătorii doresc să găsească exemple de lucru poate 10uP pe GitHub, presupun că este doar 10up pe GitHub?

JP : Corect, da, github.com/10up. Toate depozitele pentru pluginurile noastre sunt acolo în public. Echipa noastră urmărește îndeaproape problemele noi și PR-urile. Toate acestea sunt transmise canalului nostru Slack, așa că orice, orice întrebări au oamenii, orice discuții, se deschid acolo. Echipa noastră ar trebui să răspundă destul de mult la acestea, dar dacă nu, știi, să mă contactezi pe WordPress Slack, pe Twitter prin e-mail, oricare dintre acestea funcționează. Sunt întotdeauna fericit să discut cu sursă deschisă cu oamenii din comunitate.

DP : Ei bine, îți mulțumesc foarte mult că te-ai alăturat nouă astăzi, Jeff, a fost foarte grozav să vorbesc cu tine și am învățat multe despre acțiunile pe care le are GitHub pentru solicitările de extragere și automatizarea acelei experiențe. Este foarte util.

Dacă ați ratat episodul de săptămâna trecută din Press This, am vorbit cu Carmen Johnson despre pașii pe care îi puteți lua pentru a vă pregăti site-ul pentru sfârșitul vieții MySQL 5.7 și cum să vă pregătiți pentru MySQL 8. Deci, acesta este un episod foarte bun pentru dvs. putem verifica și avem multe altele. Le puteți găsi pe TorqueMag.io dacă doriți să găsiți versiuni transcrise. Vă mulțumim că ați ascultat Press This, un podcast al comunității WordPress pe WMR. Poți urmări aventurile noastre pe Twitter, la Torque Mag.

Vă puteți abona la Press This pe RedCircle, iTunes, Spotify sau aplicația preferată de podcasting sau puteți descărca episoade direct de pe WMR.fm. Sunt gazda ta, Dr. Popular. Sprijin comunitatea WordPress prin rolul meu la WP Engine și îmi place să pun în lumină membrii acestei comunități în fiecare săptămână pe PressThis.