Hacker News new | past | comments | ask | show | jobs | submit login
Publii – Open Source CMS for Static Websites (getpublii.com)
179 points by indigodaddy on Aug 5, 2017 | hide | past | favorite | 71 comments



The license is GPL but I can't find the code repository anywhere.

We'd love do ditch WordPress but our users demand a web-ish interface to work with static sites. This could be it.

Also, what's the strategy for plugins?


Shameless plug:

- We built https://forestry.io to get away from WordPress. We support Jekyll & Hugo and a Git-based workflow :)


forestry + hugo is incredibly amazing. Hugo is a single cross platform binary that generates static websites almost instantaneously.

https://themes.gohugo.io/


I set up forestry on my father's bed and breakfast website. I am very pleased.


Glad to hear! I'd love to know how we could improv the experience if you have sky feedback


I'm using forestry for my company site now to give my non-tech cofounder an easy way to write blog posts.

Two suggestions that would really improve my life:

1. A better wysiwyg editor. I've taught her some markdown but every time you switch to wysiwyg and back and make a change I get loads of spans injected into my md.

2. A better media manager with: - folders - image resizing (maybe integrate filestack.io as they have some image manipulation)

I love the simplicity of forestry and it's really close to perfect for my use case. Github -> s3 is seamless and having edits committed back is great.


Thanks for the suggestion! #1 is in the works and #2 is in early planning stages.


Neat but not self-hostable nor open source :(


True, but we if your goal is to have people manage content from mysite.com/admin you can do that since the Forestry CMS is just a single page react application that talks to our API. More info here https://forestry.io/docs/remote-admin/


I have had good experience with Lektor (getlektor.com) for small sites where I don't really want Wordpress.

It's simple, drop it in and run, it's quite mature and you can write plugins in Python.


this looks amazing, do they have sample templates for blogs


If you meant theming, you would have to do it yourself. If you meant how to setup a blog, it is fairly simple (https://www.getlektor.com/docs/guides/blog/).


I would love to see a prepackaged full-featured blog engine built on top of Lektor. Lektor seems great and all, but it is really more of a framework than ready-to-use thing.


Another (similar) option would be Lektor: https://www.getlektor.com/


Disclaimer, I'm a maintainer of this project:

I would highly recommend checking out OctoberCMS. It makes everything so easy and it's got a burgeoning marketplace for plugins and themes.



GPL without code is a violation of GPL.


Except they're the copyright holder right? So (IANAL) I think it just means other people have no way to (legally) distribute it.


Another option: cloudcannon.com


Here is a link to an interaction between a user and developer from June 23rd 2017 RE: publii source code:

https://publii.ticksy.com/ticket/1216232/

From Bob:

"We still preparing the dev documentation and I think it will be ready this holiday. Right now you can browse the themes packages and see how they are built. Below you can download the .pdf with handlebars tags used in Publii themes.

https://drive.google.com/file/d/0B92PpHk85ShpZk50NVFVQlZjX3c...

Referring to repository question, we will need to reflect further on this matter, but probably the GitHub is the best solution for that."


> ... be ready this holiday.

I think everyone needs to spend a year living in the other hemisphere so they know to never again announce something on the Internet as 'happening in summer' or 'ready this holiday'.

'Open-Source' appears six times on the posted page (source). With a properly versioned web page I would have expected it would be easy to publish that as 'Soon-to-be-open-source' and change that to 'Open-source' when it actually is. (Usual ambiguities about what 'open source' actually means to one side.)

Having said that, it does look like a lovely interface, and a good way to manage static sites -- though without a GNU/Linux release I won't be able to try it out.


UPDATE (I can't edit my original comment):

Apparently the source code comes with the app:

From Bob:

"Hi Guys,

Publii is built with Electron, so the source code is available, you can read it directly after installing the app. Here is where the files are located: ;https://getpublii.com/docs/install-publii.html

We know that there is no source code repository, we will publish it soon, but before that we have to finish work on the implementation some key features and polish the code.

The next release will bring a dev documentation with the Starter theme, I hope this will help you to better understand app and find out how the themes are built."

https://publii.ticksy.com/ticket/1265759


Apparently it doesn't. When I click to download - it's .exe and .dmg files. That this application is build with electron is beside the point.


After installing, go to the app folder, there are stored all files/data https://getpublii.com/docs/install-publii.html


I definitely think there's demand for solutions like this. I probably would like this even better if it worked on top of an existing static-site generator platform like Jekyll or Gatsby.

I just wrote about immutable deployments with Ghost 1.0, which is also open source (MIT licensed), and how that can be a nice compromise between static sites and hosted CMSes: https://ryanashcraft.me/ghost-and-now/

I might've tried Publii out if I had heard about it beforehand, but right now I'm really happy with the entire Ghost editing and consumption experience I've set up (thanks to the Ghost and Zeit teams).


Awesome post Ryan, I really like your approach! I just found out about now.sh the other day, and found its features and capabilities to be very exciting, and pretty unique for the most part. Does Ghost still have the capacity to output static html (thought it did pre 1.0; not sure with latest) ? If so, can I ask why you didn't go with using that feature, and then push the html via now or to any other service, since you're composing/editing locally anyway? Also, I looked for the ability to make this comment on your blog post itself, but didn't see any facility to do so, and then realized that this was because it's a read-only Ghost instance as you described. Is there any way to get comments with this approach. I'm thinking with the an Ghost-to-html approach (if available still in 1.0), you might be able to script something up to also embed Disqus into the outputted HTML, but as far as comments with your read-only Ghost on now.sh approach, no way to incorporate comments, correct? Anyway your blog theme was pretty attractive on Chrome mobile BTW. Enjoyable read all the way around.


Thanks! Great questions. I’m not 100% confident about supporting static generation and Discus integration with Ghost 1.0, although I imagine it’s feasible. That said, I’m personally not interested in pursuing either for my own blog at this time. Maybe in the future.


Can't seem to find a link to the repo on their site.


I hope someone posts it soon. This sounds like a dream come true, but I'm a bit weary of punching my SFTP credentials into an app by an unknown company without any idea of what it's actually doing behind the scenes.


No Linux option planned, and no public access to the source-code. That doesn't feel very "open source" to me.


GPL does not mean that the company has to provide a github repo. Strictly seen, the sources should be provided in case a user requests the them. (IANAL)

But I agree, it doesn't feel very "open source"


how can they possibly call it open source without providing the source code. Also on the website it says it is licensed under GPL, doesn't that entitle users to source code access?


> Also on the website it says it is licensed under GPL, doesn't that entitle users to source code access?

What ? Why entitled ? I have some WIP and production ready code in some git repo on my company's network and it's MIT licensed but there is absolutely zero obligation to upload it on the internet.

Of course I don't go around making website about it so there's that.

Pretty sure those guys will upload the source code when they feel like it's the time to do it.


the GPL requires that you make the code available WHEN you distribute it. they have distributed it, thus yes, we are entitled to it as of the time of distribution, not whenever they feel like it in the future.


Not really in the way you are implying. You can either distribute it with the binary, or you can distribute it to someone who received a binary once they request it. The GPL doesn't require you post the source on GitHub or the internet at all.


The GPL applies to other users. There's no such thing as a license that applies to the person that wrote the code (that would imply that you could sue yourself for violations). They'd only be required to make the source available if they were using someone else's GPL code.


That is incorrect. If a company gives you a copy of the program under the GPL, then they must obey by that license because they made an implicit agreement with you to obey that license. And you can't call any other license the GPL (modifications are not permitted by the FSF).

Ultimately it does become a matter of "suing the copyright holder for a license granted by that copyright holder", but it's definitely still not okay. By that logic, no copyright license can ever be expected to be honoured by the original author -- because "they own the copyright and thus cannot be sued for breach of license".

Not to mention that you don't know why they went with the GPL. Maybe they used some GPL code and thus have no choice in the license terms. So it would be a matter of the original copyright holders suing them for breach of license.


> If a company gives you a copy of the program under the GPL, then they must obey by that license because they made an implicit agreement with you to obey that license.

The GPL is a set of conditions that others have to obey if they want to use your code. How can you going to sue someone for violating the copyright on code that's not yours? If you see someone selling copied Tom Clancy novels on the street, you can't sue them. Only Tom Clancy and anyone else to whom he grants the copyright.

> because they made an implicit agreement with you to obey that license

So Microsoft is bound by the license on MS Word?


> The GPL is a set of conditions that others have to obey if they want to use your code.

Or distribute it. If someone distributes something to you under a license that explicitly states that it gives you certain permissions, they can't arbitrarily decide to retract that license. That's sort of like saying "if I write a song, and give you a license that allows you to get the sheet music from me, I can refuse to give you sheet music if you ask". If you didn't want to give me sheet music, why did you explicitly give me the right to do it? On some level it sounds like a breach of contract, though of course licenses aren't contracts.

Also you've forgotten that maybe Publii is based on some GPL source code, so they might not be the sole author and thus are infringing on someone else's copyright by not obeying the GPL.

> So Microsoft is bound by the license on MS Word?

Yes, of course they are! That's the whole point! If you read Section B of the Microsoft Word 2013 License[1], it states quite explicitly that:

* In §B4, all disagreements outside of small claims or negotiations will be handled in a binding arbitration. This applies to both parties.

* In §B5, neither party can engage in a class-action suit (they must all be done on an individual basis).

* In §B7, it states that claims have to be filed within one year. That also will apply to both parties.

They also give you a limited warranty for non-trial software in the last section, which obviously they are also bound by. Obviously terms in the license that don't limit Microsoft don't affect them. But with the GPL, it explicitly states that distributors must provide the corresponding source code.

I think I know what you're trying to say, "are you saying that Microsoft employees are bound to the single-seat terms of the license". But that's missing the point -- Microsoft employees aren't given software under the license I just discussed, they're given software under a different license (implicitly) because they work for Microsoft.

[1]: https://www.microsoft.com/en-us/useterms


> Also you've forgotten that maybe Publii is based on some GPL source code, so they might not be the sole author and thus are infringing on someone else's copyright by not obeying the GPL.

My comment was three sentences and I said exactly that in the third sentence.

> that's missing the point -- Microsoft employees aren't given software under the license I just discussed, they're given software under a different license (implicitly) because they work for Microsoft

Okay. That's exactly what I said. The entity releasing code under the GPL is not bound by the conditions of the GPL, and does not need to distribute the source.


> My comment was three sentences and I said exactly that in the third sentence.

You didn't say exactly that, you said:

> How can you going to sue someone for violating the copyright on code that's not yours? If you see someone selling copied Tom Clancy novels on the street, you can't sue them. Only Tom Clancy and anyone else to whom he grants the copyright.

While I understand your point, the fact that you cannot personally sue them does not change the fact that they're infringing on someone's copyright (so _someone_ could sue them). The point of this discussion is not whether you or I could sue them, but rather are they breaching the GPL by not releasing source.

> That's exactly what I said. The entity releasing code under the GPL is not bound by the conditions of the GPL,

Odd, because that's not what I said. At all. What I said was that a Microsoft employee is bound by a different license than a random consumer. This was immediately after I explicitly outlined several cases where Microsoft's EULA clearly places restrictions on Microsoft.

Microsoft distributes software under a EULA, and they have to act in accordance with what that EULA says (just like you do as the recipient of said software). The EULA is not symmetric in its restrictions (unlike the GPL) so I recognise the cause of confusion, but just because Microsoft isn't bound by the no-redistribution policy of the EULA (because that's explicitly only required of people who are receiving the software) doesn't mean the EULA doesn't apply to them...


> Ultimately it does become a matter of "suing the copyright holder for a license granted by that copyright holder", but it's definitely still not okay. By that logic, no copyright license can ever be expected to be honoured by the original author -- because "they own the copyright and thus cannot be sued for breach of license".

If the license promised delivery of source code then of course the author could be sued. But as far as I can tell, GPL (at least v3) makes no such promises. If you disagree, please point in the license text the part that you think applies.


Section 6 of GPLv3 gives several options for how a purveyor must provide the source code. I haven't personally checked through the entire list and seen whether any method is provided by this project -- I'm sure someone else has the free time to go write up an email about it.

My comment was responding to someone saying that even if someone gave you code they authored under GPLv3, that you couldn't expect them to honour the terms of the license.

As an aside, I just noticed that the license text on their website is not a verbatim copy of the GPLv3 license text (which is not permitted). In particular, it's missing the copyright, version, date, and the epilogue that describes how to use the license for your own works.


"You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways [...]"

"You" in this context meaning the licensee, not the licensor. I don't see anything in Section 6 (or elsewhere) that creates any obligations for the licensor. My naive reading of the license indicates that the licensee can redistribute ("convey") the software only if they also convey the source code. But if they are unable to do so (because the source was not conveyed to them) then they simply may not redistribute the software at all.


https://www.gnu.org/licenses/old-licenses/gpl-2.0-faq.en.htm...

But if you release the modified version to the public in some way, the GPL requires you to make the modified source code available to the program's users, under the GPL.

Emphasis on to the program's users. So if you downloaded it and installed it, found out there is no source folder, as a user, you are therefore "entitled" to get the source code. Just like me, write to them and ask politely for a copy of the source code.


It's an Electron app so the source code comes with the package. They've also tweeted "We have a plan release it for Linux with the first stable version" [0] and that a proper source code release is planned. [1] Haven't tried it myself.

[0] https://twitter.com/GetPublii/status/878563554118561792

[1] https://twitter.com/GetPublii/status/871670397145665537


There's a github account, but no repo published :/ https://github.com/GetPublii


Just downloaded and tried it out. But selecting the SFTP key doesn't seem to work and there is no local filesystem option that I can see so I have no way to test at the moment.


It is not the CMS, it is also the site generator which comes with its own themes.


How is it different from a cms?


A CMS is supposed to manage the content, not the presentation.


Wordpress has themes


Finally an alternative to Netscape Composer.


I posted this article, but have no affiliation at all, just thought it looked quite excellent and fairly unique, and was surprised it hadn't been posted to HN before this.

A feature that may be lacking that I don't see would be to get a local sync option in play if you are using multiple instances of the app (say you are using it sometimes on MacBook and also on Windows here or there). They do support pushing/syncing TO github pages, but I'd like to see perhaps a Git functionality used also to always keep any Publii instance synced locally with each other, and with Github, etc. I think that would really put this app over the top.


Where is the repo? I can't seem to find any info on the site or Google.


Looks very cool. If I hadn't already settled on a Hugo/Git/Netlify setup, I'd be investigating this for sure.

Also, congrats on writing website copy to appeal to non-techie audiences. It's well written, benefit-focused, and generally good stuff. I could actually see myself introducing this to non-techie entrepreneur friends and having them likely to use it.

P.S. - even more impressed that your docs seem to be written for non-technical users in mind too! Nice one.


They actually support many languages out of the box (Ghost doesn't). I'll be exploring it this evening, looks nice and tidy.


All I read is SEO.

All I see is a Mac app not feeling and behaving like a Mac app.

If I wanted these modern-Windows-style UIs, I'd use Windows. But I don't like them, so why does everyone try to explain to me how cross-platform, which is really pushing a windowsy UI and UX down the throats of all others, is so much better?


All I see is entitlement. I also see nothing wrong with the copy on their website, 'All I read is SEO' is just a petty attack, and your tone sucks. If you really had problems with the marketing copy, there are other ways to say it or suggest improvements.

The reason for building cross-platform UIs is clearly so that a small team can reach more users.

The vast majority of users simply do not care about native look and feel. This app looks plenty intuitive, I don't see how you can reasonably complain about its behaviour, I'm assuming without trying it.


You can build an Electron app that looks and feel like Native app on both Windows and MacOS. And this app doesn't look like Windows 10 to me


> You can build an Electron app that looks and feel like Native app on both Windows and MacOS

Show me one. Just one..

Most "cross-platform-apps" I used seemed to think moving the window frame buttons to the left and making the interface the same grey is integration enough.</slight_exaggeration>

> this app doesn't look like Windows 10 to me

Maybe my picture of windows is skewed, I haven't used it for many years now, I apologize. But isn't it even worse then? If it feels at home neither on Windows nor on OSX, but foreign to both?


I've had a similar experience with Electron apps. Quality (in terms of "nativeness") varies a lot.

This article lists many things Electron developers have to be careful about: https://blog.avocode.com/blog/4-must-know-tips-for-building-...


> It's a desktop app, so you can manage your pages anywhere. Take a laptop to the beach, write in comfort, then sync with one click once you're back online.

Really? Wouldn't a web app be better for this?


If it was a web app, you'd need to install it, probably with a database for settings, etc., which would invalidate their security claims.


If you have a web app, wouldn't you be publishing with a traditional CMS from there? This is for static websites.


Aaaand no linux version. Pleae, people, cross-platform is not just win and mac. Especially with electron apps this should be a simple to include.


They've said a Linux version is coming.

Aaaand chill your entitlement, they don't owe you jack, no matter how simple you think it is.


The concept is not bad, but how do I change the actual looks of my site? Can't I edit the frontend somehow?


The themes are absolutely incredible... for once I'm actually impressed!


Xara web designer going popular again?


xara! that's some fringe memories right there.




Consider applying for YC's Summer 2025 batch! Applications are open till May 13

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: