Ich habe ein Softwareprodukt veröffentlicht. Wie kann ich die Belichtung maximieren, wenn kein Budget und nur eine begrenzte Zeit zur Verfügung stehen?


36

Ich würde gerne die Community auf diesem Weg erreichen. Als Software-Entwickler bin ich kein Experte oder Marketing-Guru - ich denke in Code und nicht viel mehr. Die meisten Entwickler, denen ich begegne, sind so und neigen auch dazu, ernsthafte Penny-Pincher zu sein. Nehmen wir an, ich habe als Entwickler kürzlich ein neues Softwareprodukt veröffentlicht, von dem ich mir ziemlich sicher bin, dass es ein Hit wird, WENN die Leute nur davon wussten. Nehmen Sie ein Budget von 0,00 USD und eine begrenzte Zeit pro Tag an (dh 30 bis 60 Minuten). Was kann ich innerhalb dieser Grenzen tun, um die Exposition zu maximieren?

Bitte untermauern Sie Ihre Antwort nach Möglichkeit mit mindestens zwei Arbeitsbeispielen.


10
Ein großes Unternehmen gibt nicht mehr als 20% seiner Einnahmen für Entwicklungskosten aus, davon wären etwa 20% direkte Programmkosten. Das sind nicht mehr als 5% der Programmeinnahmen. Sie müssen verstehen, wohin die anderen 95% gehen, bevor Sie ein Softwareprodukt anstelle einer Software haben.
Mattnz

1
Um welche Art von Anwendung handelt es sich? Wer ist Ihre Zielgruppe? Wenn Sie sich an Programmierer wenden, können Sie dies in den Hacker News erwähnen (die Idee stammt von Jeremy Heilers Post).
Yakiv

1
Was ist dein Ziel? Möchten Sie die Software veröffentlichen, um Geld zu verdienen (dh um Ihr eigenes Unternehmen zu gründen)? Oder möchten Sie die Software kostenlos veröffentlichen und die Community adoptieren?
RonE

3
Diese Frage ist besser für answers.onstartups.com geeignet . Wie Sie bemerkt haben, wissen die meisten Programmierer nicht viel über Marketing, daher fragen Sie wahrscheinlich die falsche Gruppe um Rat. aber trotzdem viel glück!
Steven A. Lowe

Ergreifen Sie jede Gelegenheit (einschließlich dieser), um für Ihr Produkt und Ihre Website zu werben. Ich kann nicht sicher sein, welches der 100 in Google vorgestellten "Cubicle Software" -Produkte Ihnen gehört (zumindest weniger gebräuchlicher) Name. Warum ist Ihr Website-Link nicht in Ihrem Profil?
Mattnz

Antworten:


63

Ihre eigene Site

Erstellen Sie Ihre EIGENE Site, um Ihre Software zu verteilen. Es muss ein Zuhause haben. Dies kann das Code-Hosting-Repository sein, in dem Sie es und seine Entwicklung hosten. Es kann sich jedoch auch um eine kundenorientiertere Site handeln, die miteinander verknüpft ist.

Ihre eigene Site enthält zusätzliche Elemente:

  • Ihren eigenen Chatroom (s),
  • Ihre eigene (n) Newsgroup (s),
  • Ihre eigene (n) Mailingliste (n),
  • Ihre eigene (n) soziale (n) Netzwerkseite (n),
  • Feeds ( RSS / Atom ) für Ihre Update-Kanäle (und einige der vorherigen Punkte).

Beachten Sie, dass Sie mehrere für verschiedene Zwecke haben können: mit Entwicklern sprechen, Ankündigungen machen, sich um den Kundensupport kümmern ...

Ein Punkt: Es ist besser, einen aktiven Kommunikationspunkt zu haben, als sich zu zerstreuen und überhaupt keinen Inhalt und keine Aktivität zu haben. Es ist das Henne-Ei-Ding, aber die Leute sind weniger geneigt, Fragen in einem leeren Forum zu stellen. Es ist verständlich, dass Sie so viele Benutzer erreichen möchten, wie Sie möchten (wir alle bevorzugen ein Medium gegenüber einem anderen), aber warten Sie ein wenig, bevor Sie diese Gopher- Site und einen IRC- Kanal einrichten .

Suchmaschinen

Suchmaschinen sind hier das Schlüsselelement: Das ist es, was jeder benutzt, um Sie zu finden. In der guten alten Zeit (eigentlich im dunklen Zeitalter, wirklich :)) gab es Suchmaschinen, bei denen es sich hauptsächlich um schlüsselwortbasierte Verzeichnisse handelte, und Sie mussten Ihre Website einzeln / manuell oder mithilfe von so genannten Suchmaschinen bei diesen einreichen. "Suchmaschinen-Auto-Submitter" genannt. Einige waren relativ gut, andere würden Sie leicht auf die schwarze Liste bringen.

Heutzutage würde ich empfehlen, dass Sie drei Dinge tun:

  • Erstellen Sie eine anständige Site mit guten, vernünftigen, lesbaren und leicht zu indizierenden Markups
  • Erstellen Sie eine (oder mehrere) Sitemaps für Ihre Site (s) und definieren Sie robots.txt-Regeln (falls erforderlich).
  • Senden Sie Ihre Website an mindestens:

Überraschenderweise hat auch Google noch Seiten, auf denen Sie eine Website zur Aufnahme "einreichen" können. In der Regel wird dies jedoch nicht benötigt. Sie können auch nach anderen Verzeichnissen und weniger bekannten Suchmaschinen suchen, um zu prüfen, ob Sie in deren Datenbanken aufgenommen wurden. Es ist eine gute Sache, regelmäßig zu überprüfen, wo Sie sind.

Softwareverteilungs-Sites

Wie von erwähnte Stmax in den Kommentaren, auf die einfachste Art und Weise zu starten , eine App zu fördern , dass die Ziele in der Regel ihr spezielles App - Stores nutzen würden mobile Geräte bekannt. Es ist ziemlich schnell und einfach.

Abhängig von der Plattform Ihrer Wahl und davon, ob Sie Ihre App verkaufen möchten oder nicht (und ob In-App-Zahlungen unterstützt werden), sollten Sie sich Paketverwaltungssysteme ansehen. Dies ähnelt in gewisser Weise den Websites für Softwareverteilung (da sie die Softwareverteilung an einem Ort zusammenfassen und) und den App-Stores (da sie die Installation per Mausklick ermöglichen), in der Regel verwenden Sie sie jedoch nur direkt von Ihrem System aus (und nicht vom Web aus). . Ein berühmtes Beispiel ist das Debian-Paketformat mit seinen wichtigsten Repositorys und Frontends (zu denen beispielsweise das Ubuntu-Software-Center gehört).

Soziale Netzwerke

Sie können soziale Aggregatoren verwenden, um die Handhabung zu vereinfachen oder um es Ihren Benutzern zumindest zu erleichtern, Ihre Popularität in mehreren Netzwerken zu steigern, beispielsweise mit ShareThis oder AddThis .

Aktiv kommunizieren

Dies kann einige Zeit in Anspruch nehmen, aber nicht so viel, wenn Sie effizient sind und die Dinge gut vorbereitet haben.

  • Kommunizieren Sie in Foren, Chatrooms, Newsgroups ...

    • NICHT spammy sein,
    • TUN Sie Antworten, die sich auf Ihre Software beziehen, geben Sie sie in angemessener Weise vollständig preis und weisen Sie die Leute freundlich auf Ihre Software hin, wenn sie nach Alternativen oder Lösungen fragen.
  • Sende Updates und Neuigkeiten an deine verschiedenen Kommunikationsströme oben, twittere darüber, sage es deinen Freunden auf FB, veröffentliche eine Ankündigung auf den entsprechenden Mailinglisten:

    • Wenn Sie eine kleinere Revision veröffentlichen,
    • Wenn Sie ein potenzielles Projekt oder eine Funktion im Auge haben und Feedback benötigen,
    • Wenn Sie einen Meilenstein erreichen (Anzahl der Downloads, Anzahl der Benutzer ...),
    • wirklich alles.

Senden Sie diese natürlich an Ihre oben beschriebenen Kommunikationskanäle.

Schreiben Sie Support-Material

  • Schreiben Sie dementsprechend Benutzer- und Entwicklungshandbücher.
  • Veröffentlichen Sie Video-Tutorials oder Demonstrationen (erstellen Sie einen Youtube- und / oder Vimeo- Kanal).
  • Schreiben Sie Tutorials zur Verwendung Ihrer Software.
  • Veröffentlichen Sie eine (vorläufige) Roadmap für zukünftige Funktionen.

Lassen Sie sich überprüfen

  • Freunde können Sie auf ihren Blogs und Seiten in sozialen Netzwerken überprüfen.
  • Benutzer können Sie überprüfen und Sie können dies erleichtern, indem Sie den Link "Diskussion über MY_PROJECT auf SOCIAL_NETWORK" hinzufügen.
  • Profis (Blogger, Autoren, Entwickler ...) können Ihre App kostenlos oder gegen eine Entschädigung überprüfen (dies ist möglicherweise eine Spam-Route, achten Sie darauf, die richtigen Personen zu kontaktieren).
    • Kontaktieren Sie Zeitungen und Fachzeitschriften online und offline (Druck ist NICHT tot). Einige möchten vielleicht einen Artikel über Sie schreiben, andere schreiben nur eine kleine Spalte, andere merken sich Ihren Namen und Ihr Produkt später nicht mehr und andere sprechen möglicherweise nur mit Freunden an der Bar über Ihr Produkt.

Binden Sie Ihre Benutzer ein

  • Fordern Sie Feedback an und geben Sie die Erlaubnis, es zu veröffentlichen:
  • Hören Sie Feature-Anfragen.
  • Bitten Sie Ihre Benutzer um Hilfe bei der Bewerbung Ihrer Software.
  • Bitten Sie die Benutzer um Hilfe bei der Identifizierung von Fehlern und der Fehlerbehebung in Ihrer Software.

Persönlich bin ich kein Fan von User-Feedback-Sites wie GetSatisfaction und UserVoice. Sie neigen dazu, Ihre Website oder Web-App zu verlangsamen, Sie müssen sich auf sie verlassen, und wenn sie kaputt gehen, können sie Teile Ihrer Website beschädigen und sind im Allgemeinen anfälliger für Ausfallzeiten als ein gutes altes Mailing-System. Daher bevorzuge ich eine Mailingliste / Newsgroup, möglicherweise auch mit einer Weboberfläche (wie eine Google-Gruppe) und einem einfachen Kontaktformular für den Basisnutzer. Ein Issue- und / oder Bug-Tracker ist gut für fortgeschrittene Benutzer (verwenden Sie einen, der auf Google Code Project Hosting, BitBucket, GitHub, Sourceforge, Assembla ... gehostet wird, natürlich abhängig von Ihren Lizenzbedingungen) und lassen Sie sie über den Fortschritt einer Featureanforderung Bescheid wissen und für die am häufigsten angeforderten Features oder Bugfixes stimmen).

Annoncieren Sie

Alles oben Genannte ist Werbung, aber offensichtlich kann professionellere Werbung helfen. Und selbst ein 75 USD AdWords- Gutschein kann viel bewirken , wenn Sie ihn richtig einsetzen.

Sie können noch weiter gehen und einige Dienstleistungen in Anspruch nehmen, die Werbeartikel für Sie herstellen und verkaufen (Tassen, T-Shirts, Mützen, ...). Dies scheint ein bisschen verrückt zu sein, aber einige Benutzer sind froh, einige zu haben, und dies hilft manchmal dabei, neue Benutzer zu erreichen. Achten Sie einfach darauf, die richtigen Services auszuwählen, bei denen Sie nicht viel oder nichts bezahlen müssen (einige erhalten lediglich eine Provision für den Verkauf von Artikeln).

Auf dem Laufenden bleiben

Veröffentlichen Sie Updates häufig und teilen Sie sie mit. Bevor Sie es wissen, werden die Leute nachziehen. Veröffentlichen Sie Beta-Testversionen kommender Versionen nur für fortgeschrittene Benutzer.

Bleiben Sie auch mit den Konkurrenten auf dem Laufenden und überprüfen und vergleichen Sie sie schließlich. Sei NICHT abfällig oder abwertend, sei fair, verdrehe keine Zahlen und zeige uns, wo es dir besser geht. Wir erwarten nicht, dass Sie auf Ihre Fehler hinweisen, sondern dass Sie angeben, was das kleine "Plus" ist, das Sie über sie haben.


Null Budget, 30 Minuten

All dies scheint sehr zeitaufwändig zu sein und sogar etwas Geld zu kosten. Aber Sie können das meiste kostenlos oder zu sehr geringen Kosten tun.

Wenn Sie sich für die AdWords / AdSense / Google Webmaster-Tools registrieren , erhalten Sie möglicherweise einen kostenlosen Gutschein, oder einige Freunde haben möglicherweise einen frei. Technisch gesehen ist das Geld, aber Sie haben es nicht bezahlt, Sie haben nichts verloren.

Sie finden kostenlose Hosting-Dienste (sogar Blogger würde dies tun) für einfache Websites mit (ursprünglich) geringem bis mittlerem Datenverkehr, und Domain-Namen werden zu einem sehr günstigen Preis pro Jahr angeboten.

Und die gesamte Kommunikation kann zwar zeitaufwendig sein, wird aber mit der Zeit besser:

  • Schreibe Vorlagen für deine Veröffentlichungen und aktualisiere Ankündigungen für deine Mailingliste, deine Tweets usw.
  • Stellen Sie sicher, dass diese Updates automatisch an Ihre verschiedenen Kommunikationskanäle gesendet werden. Automatisieren Sie dies so weit wie möglich. Längerfristig lohnt sich die Zeitersparnis.
  • Es ist am Ende sehr wichtig, jeden Tag oder jede Woche ein bisschen Zeit zu geben. Es erzeugt konstante Geräusche, die wichtig sind, um die Gespräche am Laufen zu halten. Und deine Freunde und eingefleischten Fans können dir auch dabei helfen.

Es ist wichtig zu wissen, dass jeder neue Besucher und jede neue Empfehlung zählt. Egal, ob jemand einen ganzseitigen Artikel über Sie veröffentlicht oder nur ein Freund, der einen Link zu Ihrer App an einen anderen Freund sendet oder bei einem Drink in einer Bar über Ihr Produkt spricht.

Lernen

Nutzen Sie diese 30 Minuten am Tag, um die Tools des Handels und die Techniken von SEO-Experten, Marketingfachleuten und Werbetreibenden kennenzulernen. Sie sind am Ende wertvolle Fähigkeiten und Kenntnisse zu haben.

Ich erinnere mich, dass jemand auf einer anderen StackExchange-Site gesagt hat, Sie sollten 5 Jahre Ihres Lebens aussetzen, um sie zu lernen. Obwohl ich sagen würde, dass es wirklich nicht so lange dauert, gibt es natürlich viel zu lernen und verschiedene Fachkenntnisse zu erwerben, aber Sie können viel lernen.

Ich bin sicher, dass Sie als Entwickler gerne mehr über technische Aspekte (wie das Erstellen von Seiten, die SEO-freundlich sind) und weniger über technische Aspekte (das Erstellen benutzerfreundlicher Seitenlayouts) lernen werden zu aktuellen und getesteten HCI-Konzepten und Marktforschung (nicht nur zu Programmierinstinkten) und viel weniger zu den "nervigen" Aspekten von Marketing und Werbung (Auswahl von Keyword-Listen, Verfassen guter Ankündigungen usw.). Am Ende ist es für mich das Motiv, es immer als etwas Technisches zu betrachten: Sie wollen die Sichtbarkeit optimieren, und das alles, weil es sich um ein reines Zahlenspiel handelt. Anständiges Schreiben und Gestalten zu lernen ist nur ein Mittel, um diese Zahlen zu verbessern. Außerdem finde ich es interessant, UI- und UX-Konzepte zu lernen, für die "Lambda"andere Erwartungen als die Programmierer einer Anwendung (daher die Notwendigkeit, viele Benutzerfeedbacks anzufordern und diese anzuhören ).

Steh auf den Schultern der Riesen ... Sei ein Nachahmer

Sie sind nicht die erste Person, die versucht, ein Produkt zu bewerben. Suchen Sie sich ein berühmtes Produkt aus und sehen Sie, wie es gemacht wurde. Wie können Sie auf dieses Produkt zugreifen, wenn Sie bei 0 beginnen? Idealerweise möchten Sie den Benutzern ermöglichen, dasselbe mit Ihrem zu tun. Darauf zielen Sie ab. Schauen Sie sich vielleicht ein einflussreiches kommerzielles oder freies Softwareprojekt an und schauen Sie, wie sie eine Community geschaffen haben und wie sie mit ihrem Produkt kommunizieren. Sie können versuchen, innovative Wege zu finden, um sich selbst zu fördern (und es ist normalerweise gut, innovativ zu sein, sich von der Masse abzuheben), aber die guten alten und getesteten Wege funktionieren offensichtlich gut.

Messen, Messen, Messen

Ich habe zwei Dinge gesagt, die ich hier wiederholen muss:

  • Hören Sie auf Ihre Benutzer;
  • Es geht nur um Daten, nicht darum, was Sie als Programmierer zu wissen glauben.

Sie können Dinge nicht verbessern, wenn Sie nicht wissen, was nicht funktioniert oder was eine bessere Alternative ist. Lernen Sie (siehe oben;)), Analysesysteme (wie Google Analytics ) zu verwenden, um grundlegende Statistiken über Ihre Besucher (Bevölkerungsdemografie, Herkunft, Plattformen ...) und erweiterte Berichte (Conversion-Raten, Trichter ...) zu verfolgen. Verwenden Sie solche Tools, um die Auswirkung von Änderungen an Ihrer Site zu messen und echte, harte Daten zu erhalten, mit denen Sie feststellen können, ob eine Änderung von Vorteil ist oder nicht.

Anfangs habe ich solche persönlichen Fehler begangen, weil ich glaube, dass meine Vision besser ist, und ich musste (und muss) mich mit Gründern auseinandersetzen, die immer 83% ihrer Sätze mit "Ich denke das ..." beginnen. ". Nein, tust du nicht. Wenn Sie wirklich "dachten", würden Sie das nicht sagen. Sie haben angenommen , und das ist eine schlechte Angewohnheit. Normalerweise, wenn jemand "Ich denke" sagt, folge ich jetzt mit "Beweise es", oder wenn ich ihrer Behauptung nicht glauben kann, werde ich meine eigenen Korridortests durchführen, um ihre Annahme zu beweisen oder zu widerlegen.

A / B-Tests funktionieren einfach.

Das alles braucht natürlich auch Zeit. Ich gebe Ihnen hier die Werkzeuge, aber tun Sie mit Ihren eigenen Einschränkungen, was Sie können. Sie müssen nicht jedes einzelne Szenario einer A / B-Prüfung unterziehen, und Sie müssen nicht jede Woche jede einzelne Kleinigkeit, die Sie tun, neu bewerten. Aber je mehr Sie tun, desto besser.


All dies bedeutete, die Verbreitung der eigenen Distributionssite Ihrer Software zu konsolidieren.

Ihr Ziel ist es, für das Produkt zu werben und es den Benutzern dann zu ermöglichen, alle erforderlichen und relevanten Informationen auf Ihrer Website zu finden und den Pfad zu einem Download zu minimieren.


Dies ist eine sehr gut durchdachte Antwort. Ich habe es nur kurz gelesen, aber es sieht bis jetzt gut aus.
CubicleSoft

+1 für eine der tiefgreifendsten Antworten auf Stack Exchange, die ich nicht als predigend oder herablassend empfunden habe
Jamie Taylor

1
Ich habe dies als Antwort markiert, aber ich bin sicher, wenn Sie sich neue Dinge zum Schreiben überlegen, werden Sie sie hinzufügen. Sie haben definitiv die Reputationspunkte und das Kopfgeld verdient.
CubicleSoft

+1 aber viel zu kompliziert. Sollte es einfach in den Laden des gebissenen Apfels hochladen.
stmax

@stmax: Daran habe ich zwar gedacht, aber das ist meistens für mobile Apps oder Browser-Erweiterungen. App Stores sind für Desktops nicht so allgegenwärtig, es sei denn, Sie betrachten die oben genannten Websites zur Softwareverteilung als App Stores. Wenn die App kostenlos ist, können Sie auch Pakete an bekannte Paketverwaltungs-Repositorys verteilen.
Haylem

10

Kommt darauf an, was Ihr Produkt ist und was Ihr Markt ist.

Wie bei allen anderen "Micro-Isvs", die es gibt, müssen Sie auch bei kommerzieller Qualität, Shrink-Wrap-Qualität und Download die Augen Ihrer potenziellen Kunden offen halten.

Schritt 1: Sie benötigen eine Website, die sehr sorgfältig zusammengestellt wird und die die Funktionen, Vorteile und Kosten Ihres Produkts beschreibt.

Schritt 2: Sie müssen die Zuschauer zusammenbringen. Sie müssen Geld ausgeben. Bezahlen Sie für einige Google-Anzeigen - legen Sie ein vernünftiges Budget fest. Sie können auch potenzielle Kunden oder Kundenklassen finden. Suchen Sie die Websites oder Benutzerforen, auf denen sie bereits sind, und sehen Sie, was Sie tun können, um dort Informationen zu Ihrem Produkt zu veröffentlichen oder Werbung zu erwerben. Achten Sie jedoch auf Richtlinien, die das Einstecken von Produkten an diesen Orten verbieten. Dies kann jedoch zu einem Verbot führen.

Schritt 3: Verschenken Sie einige Exemplare, um Interesse / Konversation zu wecken.

Beispiel: Nehmen wir an, Sie hatten eine neue Fotoverarbeitungssoftware. Dann erfahren Sie, wohin Sie Ihre anfänglichen Verkaufsanstrengungen lenken sollten. Es gibt viele Fotografieforen und Websites.

Wenn Sie Probleme beim Entwickeln einer Website haben, gibt es viele Leute, die dies gegen eine Gebühr tun.

Sie sagten im OP, dass Sie ein Budget von 0 $ haben. Wenn Sie überhaupt nicht bereit sind, etwas auszugeben, werden Sie mit ziemlicher Sicherheit scheitern. Sie müssen Geld ausgeben, um Geld zu verdienen.


Ich bin anderer Meinung, Sie müssen nicht unbedingt Geld ausgeben. Ich habe erfolgreiche Starts für ein Budget von nahezu 0 durchgeführt, ohne Zeitaufwand. Das einzige, was ich schwer kostenlos zu bekommen finde, sind Domain-Namen.
Haylem

1
@haylem Wenn Sie in der Vergangenheit erfolgreich gestartet wurden, sollten Sie finanziell so weit sein, dass Sie nicht mehr über einen Domain-Namen im Wert von 8 US-Dollar pro Jahr nachdenken müssen. Ich finde deinen Standpunkt ungläubig.
maple_shaft

@maple_shaft: außer, dass du nicht geplant hast, damit Geld zu verdienen. Einige waren freiberufliche Missionen für Universitäten, bei denen ich nur Portale für sie erstellte, und es ging nur darum, Bewusstsein zu schaffen. Es muss nicht immer ein kommerzielles Produkt sein, es ist immer noch ein Produkt. Ich habe auch nicht gesagt, dass ich derjenige bin , der mit ihnen Geld verdient (leider).
Haylem

@maple_shaft: aber sicher, du bist viel besser dran, wenn du etwas für deine Promotion ausgeben kannst. Darüber werde ich nicht streiten. Es ist einfach keine Notwendigkeit und es ist etwas, worauf das OP in der Liste der Dinge, die er vermeiden möchte, deutlich hingewiesen hat.
Haylem

@maple_shaft: Tatsächlich ist es viel schwieriger, die Beschränkung auf "begrenzte Zeit" zu verteidigen als die Beschränkung auf "begrenztes Budget", IMHO.
Haylem

3

Hinweis: Ich nahm an, dass Ihr "Softwareprodukt" ein Open Source-Projekt ist. Wenn nicht, ignoriere meine Antwort.

Ich schlage vor, das Projekt nicht nur selbst zu nutzen und dafür zu werben, was Sie damit erstellen, sondern es auf Mailinglisten und in anderen Communities anzukündigen, die es möglicherweise nützlich oder interessant finden. Wenn Sie es noch nicht getan haben, platzieren Sie Ihren Code auf einer Site wie GitHub oder Google Code, damit die Leute ihn leicht finden können. Profitieren Sie von den sozialen Funktionen dieser Websites wie dem einfachen Verzweigen und Teilen. Der andere Vorteil ist, dass Sie einen Ort haben, an dem sich interessierte Personen für das Projekt zusammenfinden und zusammenarbeiten können. Tun Sie alles, was Sie können, um es anderen leicht zu machen, für Sie zu werben.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.