It depends on what you build. Generally you should require signin for things that need signin - requiring them for things that don't will drive users away. You can still uniquely identify users if you need to, and then convert them to an actual account if/when they signup.