[HN Gopher] Show HN: I just made my profitable online form build...
       ___________________________________________________________________
        
       Show HN: I just made my profitable online form builder open-sourced
        
       Author : dearroy
       Score  : 172 points
       Date   : 2024-04-01 16:30 UTC (6 hours ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | not_your_vase wrote:
       | What's your rationale behind this step?
        
         | dearroy wrote:
         | It's to tap into global collaboration for faster innovation,
         | and ensure transparency and trust.
         | 
         | Thanks for bringing up the good question!
        
           | gus_massa wrote:
           | Do you have another source of income? If someone just use it
           | without giving you money or code contributions, would you
           | feel ok?
        
         | MichaelMug wrote:
         | Would this be a clever way of shrinking the market? Any
         | competitors will now automatically need to have a value
         | proposition greater than this free software.
        
           | atonse wrote:
           | I'm not OP but the software is GPL3, so it would disqualify a
           | lot of risk-averse customers from hosting it.
        
       | quantumwoke wrote:
       | Can anyone confirm if the legal advice here
       | https://docs.heyform.net/license is correct? Seems slightly
       | different to my own interpretation of the spirit of GPL.
        
         | nerpderp82 wrote:
         | They would need to use the AGPL if they want folks that self-
         | host to release their changes.
        
         | bachmeier wrote:
         | There's nothing problematic about this, except that it's GPL
         | plus conditions. AFAICT, only the second condition would be in
         | addition to the GPL, but I didn't spend much time thinking
         | about it.
        
           | thih9 wrote:
           | > it's GPL plus conditions
           | 
           | Not in a uniform way - the license distributed with the code
           | on github doesn't have the extra conditions.
           | 
           | At this point I'd nuke the repo and force push with AGPL
           | license instead, that seems a better fit.
        
           | jahewson wrote:
           | GPL does not permit additional conditions, it actually states
           | that additional conditions may be removed by the licensee.
           | 
           | In this case, I don't see the actual license containing
           | additional conditions, simply that the FAQ guidance on the
           | page is misleading.
        
             | renewiltord wrote:
             | But it needs attribution and he can say what attribution is
             | valid, no? IANAL so can't say for sure but does GPLv3 have
             | same issue as early CC? https://doctorow.medium.com/a-bug-
             | in-early-creative-commons-...
        
               | jahewson wrote:
               | Yes and no. While the author can specify an attribution
               | notice, the GPL limits it to being relayed amongst
               | "appropriate legal notices" - these typically appear in
               | an EULA or About screen. Otherwise an "inappropriate"
               | attribution requirement could be misused to prevent
               | modification of certain parts of the work.
               | 
               | As for the issue with CC, GPLv3 gives a 30 day grace
               | period for rectifying violations which obviates many
               | potential troll issues.
        
         | sfink wrote:
         | Yeah, it looks wrong to me too. It claims to be GPLv3 and the
         | "use cases" explainer looks like it's trying to clarify what
         | GPLv3 means, but the requirements described under the use cases
         | are not part of GPLv3.
         | 
         | The 1st one is fine. The 2nd one says you would need to open
         | source your modifications, but that would only be true if you
         | also distributed your version rather than just using it on the
         | server side. The 3rd adds three conditions. The first and third
         | are again only true if you are redistributing the software. The
         | second is an attribution clause that is not part of GPLv3, and
         | the page to me definitely reads like it's explaining the
         | license but not actually a license itself. GPLv3 does allow
         | adding in similar conditions, but probably not those: I'm not
         | sure requiring a link to the original project is ok.
         | 
         | AGPLv3 would be a much closer match to what the author appears
         | to intend. It allows adding the attribution requirements that
         | the author wants; see
         | https://www.gnu.org/licenses/agpl-3.0.en.html section 7: "You
         | may...supplement the terms...: (b) Requiring preservation
         | of...author attribution..."
         | 
         | (IANAL, and every time I claim anything about licenses I get at
         | least one detail wrong.)
        
       | snapcaster wrote:
       | How did you think about the tradeoffs between closed-source
       | profitable vs. open sourcing it? What do you see as your criteria
       | for success on this move?
        
       | orliesaurus wrote:
       | do you consider this a marketing move?
        
         | hk__2 wrote:
         | Of course; how else could they have been on the HN frontpage?
         | (I'm not saying this negatively)
        
       | bberenberg wrote:
       | Considering that this is SaaS, are you sure GPL is sufficient
       | here? Did you consider AGPL?
        
       | thih9 wrote:
       | Congrats on open sourcing your project!
       | 
       | I see that it relies on mongodb, at a first glance this seems a
       | good fit for a forms oriented product - looks like using a
       | document db for actually dealing with documents. How did it work
       | out for you? Would you choose it again?
        
       | izwasm wrote:
       | I really like that you are using nestjs, idk why some devs hate
       | it, IMHO its the best node framework that can be used to build
       | production ready apps, i started using it a month ago at work and
       | it was my first time using it, and it already made so productive
        
         | wouldbecouldbe wrote:
         | NestJS is nodeJS for Java people. It's like Angular in that
         | sense.
         | 
         | So some people will feel like it's over engineered.
         | 
         | I mean it's overengineered. Why do I have to register all these
         | things, and why does it keep crashing if I register it like
         | this without any understandable error message. It has a little
         | bit of an OCD relationship with dependency injection. Where the
         | normal import system can handle most of those cases.
         | 
         | But few nice things, resolvers, auto-generate swaggers. And
         | TypeORM is lovely.
         | 
         | But yeah it's a bit too demanding. I'm okay with an opiniated
         | framework if it gives a lot of features out of the box (like
         | laravel or NextJs), but NestJS tells me how to do things
         | without giving me enough in return. (auth, sockets etc are
         | still quite a lot of work)
        
         | pjerem wrote:
         | nestjs is nice if you're coming from Angular. It's basically
         | Angular for the backend.
         | 
         | But like Angular, there is a very wide range of use cases where
         | it is totally overkill and like Angular, companies are throwing
         | it at each and every project.
         | 
         | I don't find it bad but it's in a strange spot being more
         | bloated than other JS frameworks while still being way less
         | "batteries included" than more classical corporate frameworks.
         | 
         | Like Angular, I don't hate it though it's just that I still
         | haven't figured out a project where it's better suited than
         | something else.
        
         | _fat_santa wrote:
         | I recently migrated my API from lambda functions do a
         | dockerized Node API and I evaluated NestJS, though ended up
         | using Fastify. Like others have mentioned, it's great for devs
         | that come from Angular or Java but for me I didn't like that it
         | used decorators all over the place and preferred to have
         | something more "Express like"
        
         | calmoo wrote:
         | Best makes JavaScript look like Java, it's needlessly complex
         | and just encourages vast amounts of boilerplate. Awful stuff.
        
           | eddd-ddde wrote:
           | This is precisely my experience. Classes are painful to deal
           | with. Decorators are not only unergonomic, they also throw
           | away any type safety. Also Nest shoves class transformer and
           | class validator down your throat, which are also a pian in
           | the ass.
           | 
           | My go-to right now is itty router with zod.
        
           | dns_snek wrote:
           | Same experience here. Admittedly it's been a few years since
           | I last used it, but there was so much boilerplate coupled
           | with a layer of "magic" that was too thick for my liking.
           | 
           | Provider initialization (dependency injection) failed on me
           | on a few occasions and it always wasted hours of
           | productivity. It would break in some obscure way that
           | wouldn't log any errors to the console, so there was nothing
           | to go on besides attaching a debugger and stepping through
           | layers of framework code. It was quite infuriating because it
           | always happened when I was in the middle of something else.
           | 
           | If your specific use case wasn't covered by their docs (which
           | were very barebones and "hello-world" oriented at the time),
           | it was painful to figure out and use.
        
         | aswerty wrote:
         | I'm literally in the middle of spending my evening, outside of
         | work, gutting NestJS from a project I've inherited at work. I
         | would literally consider changing jobs if I couldn't remove it.
         | 
         | There is so much to unpack to get as why I have such an issue
         | with it. But time and again I have been frustrated with it in
         | terms of: it's design philosophy, implementation, scope of what
         | it covers, bloat, recommended implementation approaches, etc.
         | 
         | I don't understand how a single framework can think that it
         | should cover: message/request handling, logging, config
         | management, dependency inversion, persistence, and IO. These
         | things have almost no cross over (i.e. if they are well
         | designed they should be easily composable with any other
         | component) but time and again framework developers attempt to
         | bundle them into a "one size fits all solution".
         | 
         | To best sum it up. I think any package I use should be
         | secondary to my application. But this package makes it so that
         | my application is secondary to the framework.
        
       | jraph wrote:
       | I'm secretly and slowly building a form building application. The
       | idea is that in my association we don't want to rely on Google
       | Forms. And we only want to use open source software. We are using
       | FramaForms which is a bit clunky and doesn't have this feature
       | that updates a spreadsheet automatically. I thought that I could
       | just create something that would answer both concerns.
       | 
       | But a good open source forms app would probably change
       | everything, I would gladly stop my small project (in favor of
       | contributing to an existing one for instance). I see there is
       | integration with a lot of products, including Google Drive and
       | Google Sheet.
       | 
       | Would an integration with Nextcloud be considered?
       | 
       | Congratulations on open sourcing this, we need open source and
       | self hosted form solutions. Critically private data is put in
       | forms and that get sent to big private companies like Google,
       | which is not ideal.
       | 
       | As other commenters say, you might want to use AGPL indeed, but I
       | guess you carefully thought this decision.
        
         | blowski wrote:
         | > But a good open source forms app would probably change
         | everything
         | 
         | Can you go into that a bit more, I'm interested what you would
         | see changing. Why do you think it hasn't been done already?
        
         | abdullahkhalids wrote:
         | Grist has the ability to create forms that are automatically
         | connected to their spreadsheets [1]. Though it doesn't seem
         | like you can create sophisticated forms (with some logic in
         | them for example) just yet.
         | 
         | I am thinking of moving my volunteer org away from Google forms
         | towards Grist.
         | 
         | [1] https://support.getgrist.com/widget-form/
        
         | flavaz wrote:
         | Limesurvey is "good enough" for most applications and is open
         | source- any reason why that wouldn't work for your use case?
        
       | tamimio wrote:
       | Your website doesn't open, it seems it's flagged in one of the
       | DNS popular blacklists
        
         | zzzzzzzzzz10 wrote:
         | Works fine for me. Did you add these blacklists yourself or is
         | it from your ISP?
        
         | mderazon wrote:
         | For me too, using NextDNS
        
       | la64710 wrote:
       | What is the reason for "open sourcing" this , when any meaningful
       | implementation is locked away behind services and is closed
       | source. I just think these kind of use cases confuses users.
       | There is no problem in being closed source and proprietary
       | (unless you are using preexisting open source code and open
       | sourcing those parts of your code makes it legally compliant) .
       | In any case it is confusing at best and misleading at the worst.
        
         | cynicalsecurity wrote:
         | Free advertising on Haker News. 10 bucks net profit without any
         | grows is also profitable. Getting to the main page of HN was
         | worth open sourcing what had no potential anyway.
         | 
         | This is my reasoning, I'm not the creator of this.
        
       | sfink wrote:
       | I've often wanted a simple online form solution for random
       | purposes, yet I have never quite gotten around to learning Google
       | Forms. My kids use it for school stuff. They're reasonably
       | capable with it and have gotten good mileage from it. I guess at
       | some level it's hard for me to get into something that often
       | requires flexibility, yet can't be modified beyond rigidly
       | prescribed boundaries.
       | 
       | I would totally rather learn something like this that I can hack
       | on. And when other people ask me how to do something for a Real
       | reason, I would not hesitate to recommend the hosted version if
       | it can do what they want. (No, I don't want to be on the hook for
       | maintaining a self-hosted version of something that will be
       | depended on for wide public consumption. I'm done with pager
       | duty.)
       | 
       | The creators' hearts seem to be in the right place, so I'm less
       | subliminally worried that they'll enshittify it in some way that
       | bothers me. And if they do, the license gives me a way to proceed
       | without starting with something new from scratch.
        
         | jmholla wrote:
         | Google Forms is very simple to learn. There's not much to it.
         | You just dive in and you're good to go.
        
       | V__ wrote:
       | This looks really nice. I assume you have looked at the
       | alternatives and created heyform with a special feature or use
       | case in mind? If so, could you summarize the differences between
       | heyform and for example: getinput.co, quillforms.com or
       | snoopforms.com?
        
       | circusfly wrote:
       | AI thanks you for your efforts.
        
       ___________________________________________________________________
       (page generated 2024-04-01 23:00 UTC)